2014-04-12 5 views
5

VS2013 x64 프로젝트에서 "게시하는 동안 사전 컴파일"플래그를 사용하려면 어떻게해야합니까? 내가하는 일과 상관없이 x86 ASPNETCOMPILER 사용을 주장하기 때문에 공개하지 못합니다.ASPNETCOMPILER가 x64 컴파일러를 사용하여 사전 컴파일 할 수 있도록 Visual Studio 2013 구성

저는 VS2012에서이 기능을 사용 했었지만 VS2013으로 업그레이드 한 후에는 더 이상 작동하지 않는다고 생각합니다.

MSBuild과 관련된 텍스트 파일을 변경하는 것과 관련된 수정 사항은 기억하지만 솔직히별로 모릅니다. 따라서 약간 흐립니다.

도움을 주시면 대단히 감사하겠습니다. 감사!

답변

9

이것은 해결 방법은 (게시 프로필에 프로젝트/PropertyGroup의 XML 태그에 다음과 같은 XML을 추가 에가 작동 나열하고있다 2013 년

Microsoft Connect - Precompile error when using X64 platform

Visual Studio에서 버그가 보인다 프로젝트의 Properties \ PublishProfiles 디렉토리에 있음).

<AspnetCompilerPath>C:\Windows\Microsoft.NET\Framework64\v4.0.30319</AspnetCompilerPath> 

나는 위의 해결 방법을 적용하기 전에이 빌드 오류가 발생했습니다 : 는 "파일이나 어셈블리 '****'또는 해당 종속성 중 하나를로드 할 수 없습니다 시도가 잘못된의 프로그램을로드하려고했습니다. 체재." - 비주얼 스튜디오 2015 년 ASPNETCOMPILER

여전히
+0

그냥 작동합니다. 고맙습니다! –

+0

동토. 2014-05-01 현재 연결 문제는 '수정되지 않음'으로 표시됩니다. 나는 왜 그런지 모르겠다. 그것은 나에게 문제를 추적하는 데 많은 시간을 필요로하며 다음 버전에 대한 간단한 수정으로 보인다 : - \ –

2

문제 업데이트 3 ...

수정 : 좋아하는 텍스트 편집기에서 프로젝트의 csproj 파일을 엽니 다.

을 찾습니다

<AspNetToolPath Condition=" '$(Platform)' == 'x64'">$(windir)\Microsoft.NET\Framework64\v4.0.30319</AspNetToolPath> 

을 찾습니다 :

<Target Name="MvcBuildViews" AfterTargets="AfterBuild" Condition="'$(MvcBuildViews)'=='true'" > 
    <AspNetCompiler VirtualPath="temp" PhysicalPath="$(WebProjectOutputDir)" /> 
</Target> 

을 다음과 같이 AspNetCompiler 라인을 개정 :

<MvcBuildViews>true</MvcBuildViews> 

는 그 아래에 다음을 추가

<AspNetCompiler VirtualPath="temp" PhysicalPath="$(WebProjectOutputDir)" ToolPath="$(AspNetToolPath)" /> 
+0

VS 2017의 여전히 문제 – Jay