안녕하십니까, 2012 년 vs 2012가 설치된 서버 2008 r2 x64에서 x86 솔루션을 빌드하는 데 문제가 있습니다. 아래 오류로 인해 항상 오류가 발생합니다.Nant 0.92 vs 2012와 함께 64 비트 OS에서 32 비트 솔루션을 구축하지 않습니다.
[msbuild] "C:\fake.sln" (Build target) (1) ->
[msbuild] "C:\fake.csproj.metaproj" (default target) (2) ->
[msbuild] "C:\fake.csproj" (default target) (8) ->
[msbuild] "C:\xeqodvbc.tmp_proj" (_CompileTemporaryAssembly target) (11) ->
[msbuild] (CoreCompile target) ->
[msbuild] error CS1607 : Warning as error : Assembly generation -- Referenced assembly 'PresentationCore.dll' targets a different processor [C:\xeqodvbc.tmp_proj]
[msbuild] error CS1607 : Warning as error : Assembly generation -- Referenced assembly 'System.Data.dll' targets a different processor [C:\xeqodvbc.tmp_proj]
다음은 실패한 잘못된 작업입니다. (프로젝트 이름을 변경했습니다.) 모든 Set3.5 대상은 msbuild.targetframework 속성을 v3.5로 설정합니다. 내가 솔루션의 폴더로 가서 호출하는 경우
<target name="faketarget" depends="makeTempDir" description="builds">
<call target="set3.5" />
<msbuild project="our32bit.sln" target="Build" verbosity="${msbuild.verbosity}">
<property name="Configuration" value="${build.configuration}" />
<property name="Platform" value="x86" />
<property name="PlatformTarget" value="x86" />
<!--<property name="Platform" value="${build.platform}" />-->
<property name="RunCodeAnalysis" value="${code.analysis}" />
<property name="CodeAnalysisRules" value="${code.analysis.rules}" />
<property name="TargetFrameworkVersion" value="${msbuild.targetframework}" />
</msbuild>
지금은 MSBuild는 문제를 구축하지 않고 내가 VS 2012 년을 열면 내가 거기뿐만 아니라에서를 구축 할 수 있습니다 /p:TargetFrameworkVersion=v3.5. 어떤 제안?