2011-10-31 2 views
0

내 프로젝트에는 테마 폴더에있는보기 및 컨텐트 (있는 경우)를 덮어 쓸 수있는 기능이 있습니다. 나는 성공적으로 사이트의 사용자 정의 하나의 기본 뷰를 대체 할 수 있어요테마 폴더의 콘텐츠에 대한 리소스를 찾을 수 없습니다.

Themes\ 
    SiteA\ 
     Content\ 
      Images\ 
       logo.png 
      screen.css 
     Views\ 
      Home\ 
       Index.cshtml 

: 내 폴더 구조는 다음과 같습니다 있도록 테마 폴더의 경로는 사이트에 따라 다를 것입니다. 그러나 테마에 대한 Content 폴더의 내용에는 액세스 할 수 없습니다. http://localhost:port/Themes/SiteA/Content/screen.css에서 직접 파일에 액세스하면 해당 리소스를 찾을 수 없습니다. 이미지 폴더의 내용에 액세스하려고하면이 오류가 발생합니다. 작년에 동료가 별도의 프로젝트에서이 작업을 수행 할 수 있었지만 web.config 나 다른 파일을 사용할 수있게 된 것은 눈에 띄지 않습니다. 어떤 도움을 주셔서 감사합니다!

답변

3

동료가 문제를 발견했습니다. 내가 설정 테마 폴더, 나는이 옵션이 뷰에서의 Web.config를 복사 할 때 :

<add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" /> 

우리는 *로 * .cshtml에서 경로 속성의 값을 변경하고 파일을 지금 액세스 할 수 있습니다.

+1

대단하군요! 너는 나에게 많은 시간을 구해줬다 !!! – k25

0

파일 시스템의 기본 폴더에 대한 사용 권한을 확인 했습니까? 내 경험에 의하면 URL을 통해 리소스에 액세스 할 수없는 경우가 많습니다. 웹 사이트에서 사용하는 자격 증명에 기본 리소스에 대한 액세스 권한이 부여되지 않을 수 있습니다.

+0

권한에 대한 불일치가 없습니다. Visual Studio 내에서 폴더 및 CSS 파일이 만들어졌으며 과거에는 폴더 및 CSS 파일에 액세스하는 데 문제가 없었습니다. 그러나 파일은 콘텐츠와 동일한 사용 권한을 가진 내 테마 폴더가 아닌 스크립트 또는 콘텐츠 폴더에 있습니다. – Mathachew

1

게시 할 수 없습니다. 이리. URL과 일치하는 경로가 있습니까? RouteDebuger를 사용하여 어떤 경로에 도달했는지 확인하십시오.

+0

이 http://haacked.com/archive/2008/03/13/url-routing-debugger.aspx를 프로젝트에 추가했는데 작동중인 URL의 경로 상태를 알려줄 수는 있지만 내 아래의 파일에는 해당하지 않습니다. 테마 폴더. 자원이 발견되지 않는다는 것을 계속해서 알려줍니다. 이것은 뭔가의 표시가되어야하지만, 나는 그 순간에 무엇이 확실하지 않습니다. – Mathachew

+0

테마 하위 디렉토리에 web.config가 있습니까? 또한 VS/IIS에서 사이트를 테스트하고 있습니까? – MikeSW

+0

Razor를 사용하고 있기 때문에 root의 Themes 폴더에 web.config를 추가해야했습니다. Razor는 문제의 근본 원인이었습니다 (동료 덕분에). 아래 답변을 게시했습니다. – Mathachew

관련 문제