2014-03-26 4 views
0

시나리오 :IIS7 가상 디렉터리를 사용하여 프로젝트에서 공통 파일을 활용하는 방법

나는 ASP.Net MVC 프로그래밍에 아주 새로운 해요 지속적으로 일반 파일의 사용을 만들려고 벽에 실행 (.js, .css)을 여러 프로젝트에서 사용할 수 있습니다. 아이디어는 이러한 일반적인 파일을 하나의 위치에 두어 나중에 쉽게 업데이트 할 수있게하고 모든 프로젝트에서 "복사하여 붙여 넣기"딜레마를 피하는 것입니다. IIS7에서이 폴더를 별칭 "CommonFiles"가있는 기본 웹 사이트의 가상 디렉터리로 설정했습니다.

문제 :

내가 스크립트 번들로 JS 파일을 추가하기 위해 노력하고있어 MVC-4 있지만까지의 모든 파일을 따기 아니에요 응용 프로그램을 실행시. (페이지 소스에 확인하고 또한 테스트와 같은 JS 기능 추가) BundleConfig.cs에서

코드 : _Layout.cshtml에서

bundles.Add(new ScriptBundle("~/bundles/test").Include("~/CommonFiles/test.js")); 

렌더링 : 나는했습니다

@Scripts.Render("~/bundles/test") 

을 꽤 많은 게시물 ( Script Bundling in WebForms with Virtual Directories (asp webforms 비록), How to add reference to System.Web.Optimization for MVC-3-converted-to-4 app, ScriptBundle not rendering scripts that are in a VirtualDirectory)을 읽었지만 MVC에 대한 지식이 부족하여 내 경로가 제한되어 있고 MVC가 IIS 가상 직접 기능을 처리하는 방법에 대한 통찰력을 얻기를 바라고 있습니다. ories 그리고 만약 내가 위의 마지막 글을 읽었을 가능성이 있다면.

MVC-4에서이 작업을 수행 할 수 있습니까? 아니면 프로젝트간에 공통 코드를 재사용 할 때 차선책이 될 수 있습니까?

답변

0

kev (Using ServerManager to create Application within Application)로 게시물을 읽으면 나를 올바른 길로 가게했으며 문제는 실제로 당혹 스럽습니다.

문제가 :

나는 별도의 프로젝트의 사용을 포함 Visual Studio에서 유사한 문제를 가진이 게시물에 착륙 다른 DEVS를 위해서

이 내 문제를 해결 것입니다 다른 여러 프로젝트에서 사용되는 파일 IIS7에서 이러한 파일을 참조하는 가상 폴더를 만들었습니다. 즉, 공통 파일에 변경이 필요한 경우 해당 변경 사항은 한 번 업데이트되고 다른 모든 프로젝트는 변경 사항을 자동으로 "확인"합니다.

내 다른 개별 프로젝트는 해당 프로젝트에만 관련된 파일을 포함하기 위해 스크립트 번들을 사용하고 IIS에 정의 된대로 가상 폴더의 공용 파일을 참조합니다.

내 MVC-4 웹 응용 프로그램도 디버그 또는 릴리스에서, 위의 구문 주어진 공통의 파일을 따기하지 ..이었다

솔루션 :

하면 프로젝트의 아래, VS2012에서 개발하는 경우 속성에는 웹 탭 아래에 로컬 IIS 웹 서버 또는 IIS Express를 사용하여 응용 프로그램을 테스트할지 여부를 지정할 수있는 설정이 있습니다. IIS Express는 사이트에 무작위 포트를 추가하여 테스트하고 여러 사이트 인스턴스를 다른 포트에서 실행할 수 있도록합니다. 이것은 번들링에 가상 디렉토리를 포함시키는 것 같습니다.로컬 IIS 서버를 사용하도록 선택

Using IIS Express

은 "라이브"환경 내 의견으로는 어떻게 될지에 더 가깝다. "IIS 익스프레스 사용"설정의 선택을 취소하십시오. 보조 노트로 및 IIS와 IIS 표현의 사용 사이의 차이가 무엇인지에 대한 추가 정보를 원하시면이 링크를 참조 (이 광산이었다로)는 사용자 환경에 적합 여부를

enter image description here

:

http://msdn.microsoft.com/en-us/library/58wxa9w5.aspx

앞으로 도움이되기를 바라며, 내가 낭비하는 시간을 절약 할 수 있기를 바랍니다.