2011-02-15 2 views
4

ASP.NET MVC3에서 Spark 1.5 뷰 엔진을 사용하여 웹 응용 프로그램을 만들었습니다. 로컬 개발 컴퓨터에서 잘 작동하지만 Windows Azure에서 호스팅하면 스파크 뷰를 찾지 못했습니다. 나는 다음과 같은 표준 오류 화면을 얻을 :Windows Azure에서 스파크 뷰 렌더링 ASP.NET MVC3 웹 앱

The view 'Logon' or its master was not found or no view engine supports the searched locations. The following locations were searched: 
~/Views/Account/Logon.aspx 
~/Views/Account/Logon.ascx 
~/Views/Shared/Logon.aspx 
~/Views/Shared/Logon.ascx 
~/Views/Account/Logon.cshtml 
~/Views/Account/Logon.vbhtml 
~/Views/Shared/Logon.cshtml 
~/Views/Shared/Logon.vbhtml 
Account\Logon.spark 
Shared\Logon.spark 

이 웹폼과 같은 폴더/면도기 (NO ~/조회수 접두사 이후) 검색되지 않도록 스파크 나에게 보인다, 그러나 나는이가 구성된다 찾을 수 없습니다 불꽃.

settings.AddViewFolder(ViewFolderType.VirtualPathProvider,new Dictionary<string, string> { { "virtualBaseDir", "~/Views/" } }); 

을 ...하지만 변화 :

나는 시작 코드에 다음을 추가하지 않습니다 시도했습니다. 내가 실종되었다는 것을 눈치 채지 못하게하는 뭔가가 있다는 것을 느끼지 않을 수 없습니다.

답변

2

가상 경로 공급자 ~/Views/을 추가 할 필요가 없습니다. 관례에 따라 자동으로 발생하며 위의 검색 경로는 약간 다른 두 뷰 엔진 출력 (Razor 및 Spark)입니다. 이미 Views 폴더에있는 Account\Logon.spark이라고 할 때 Spark의 루트보기 경로는 Views입니다.

패키지를 배포 할 때 스파크 뷰가 실제로 Azure로 복사되지 않는다고 생각합니다. Azure가 액세스 권한을 갖기 위해 MVC3 DLL을 로컬에 복사하기 전에 설정해야만 MVC3 dll과 유사합니다.

Azure 패키지의 이름을 .zip 파일로 변경하고보기를 열어 내용의 일부로 포함되어 있는지 확인하십시오. 그렇지 않은 경우 솔루션 탐색기에서 스파크 파일 중 하나를 강조 표시하고 속성을 확인하십시오. Copy to Output DirectoryCopy Always으로 설정하고 Azure 프로젝트를 빌드하고 다시 패키지하십시오.

프로젝트의 로컬 bin 폴더에는 확인을 위해 스파크보기가 포함 된 뷰 폴더가 있어야합니다.

해당 패키지를 사용해보고 트릭을 수행하는지 확인하십시오. 도움이

희망,

+3

롭 - 포인터 주셔서 감사합니다. Spark 파일이 Azure로 복사되지 않는 올바른 라인에 있었지만 문제를 해결하기 위해 각 Spark 파일의 Build Action을 Content로 설정해야했습니다 (Razor보기가 추가되면 Build Action이 기본적으로 Content로 설정 됨) Spark 뷰가 추가되면 Build Action은 None으로 설정됩니다. 이것이 기쁘다. 면도기로 다운 그레이드해야했다. – kenxl

+1

죄송합니다. kenxl, 저는 실제로'Build Action'이'Content'로 설정 되어야만한다는 것을 알았지 만 그렇게 말할 의도가 있었지만 어떤 이유로 든 제 마음을 잃었습니다. 어쨌든 그 부분을 발견하게되어 기쁘다. 롭 – RobertTheGrey