2014-02-17 3 views
1

MVC 프로젝트에 Visual Studio 2013 및 .NET 4.5를 사용합니다.VS2013 : 프로젝트 외부의 파일에 생성 된 축소 된 번들 게시

Pluralsight에서 여러 개의 동영상을 통해 AngularJS를 사용하는 방법을 배웠습니다. 그 중 하나는 Grunt를 사용하여 출력 디렉토리를 정리 한 다음 ngmin을 사용하여 자바 파일을 안전하게 보호합니다.

내 프로세스는 gruntfile.js를 사용하여 내 솔루션의 javascript 파일에 대해 ngmin을 정리하고 실행 한 다음 app_built라는 디렉토리에 저장합니다. 이것은 프로젝트의 사전 빌드에서 배치 파일을 통해 실행 된 다음 app_built 디렉토리를 가리키는 IncludeDirectory가있는 ScriptBundle을 통해 포함시킵니다. 제 의도는 .NET 4.5의 Bundling 기능을 사용하여 모든 파일이 Grunt를 통해 최소 안전성을 얻은 후에 Javascript의 축소 및 연결의 나머지 작업을 수행하는 것입니다.

나는 다음과 같이 최소 - 페드 파일의 경로를 지정 : 나는 내 로컬 컴퓨터에서이 작업을 실행하면

bundles.Add(new ScriptBundle("~/bundles/minSafed") 
    .IncludeDirectory("~/app_built/", "*.js", true)); 

, 그것은 차질없이 잘 실행됩니다. Javascript는 축소되어 있으며 번들로 제공되므로 결과 웹 응용 프로그램도 올바르게 실행됩니다.

웹 사이트를 원격 서버에 게시하면 "디렉토리가 존재하지 않습니다. 매개 변수 이름 : directoryVirtualPath"라는 서버 오류가 발생합니다. 이 오류는 내 많은 * .js 파일로 채워진 디렉토리를 찾을 수 없다고 가정합니다. 또한 그들은 솔루션의 일부가 아니기 때문에 게시되지 않았기 때문에 (비록 에있는 폴더가 임에도 불구하고 Visual Studio의 솔루션 탐색기에서는 단지 비어 있습니다.)

내 가정이 정확하다면, 내 솔루션에 이러한 파일을 추가하기 위해 할 수있는 일은 무엇입니까? 그래서 매번 최소한의 노력으로 나머지 웹 응용 프로그램과 함께 게시 할 수 있습니까?

내가 가정에서 틀렸다면,이를 해결하기 위해 무엇을해야합니까?

감사합니다.

답변

1

나는 이것에 대해 좋은 방법을 찾지 못했습니다. 관련이있는 http://sedodream.com/2010/05/01/WebDeploymentToolMSDeployBuildPackageIncludingExtraFilesOrExcludingSpecificFiles.aspx의 정보를 찾았지만 제대로 작동하지 못했습니다.

오히려 출력 된 파일의 이름을 알고 있었기 때문에 프로젝트에서 빈 파일을 만들고 필요한 곳을 참조했습니다. 그런 다음 사전 빌드 작업을 통해 해당 파일의 내용을 외부 적으로 축소 된 버전으로 바꾸고 필요에 따라 프로젝트와 함께 패키지하므로 충분히 잘 작동합니다.

관련 문제