【发布时间】:2015-05-03 05:39:32
【问题描述】:
我正在使用批处理文件来调用构建解决方案文件的 MSBuild。我的问题是,在为 AnyCPU 平台构建时,我应该使用哪个 MSBuild? 32位还是64位?
set sln=MySolution.sln
set src=%CD%\..\
set msbuildx86=%windir%\Microsoft.NET\Framework\v4.0.30319\msbuild.exe
set msbuildx64=%windir%\Microsoft.NET\Framework64\v4.0.30319\msbuild.exe
set verbosity=/v:normal
%msbuildx86% "%src%%sln%" %verbosity% /t:Clean;Build /p:NoWarn=1591 /p:Configuration=Debug /p:Platform="Any CPU" <-- x86 or x64?
%msbuildx86% "%src%%sln%" %verbosity% /t:Clean;Build /p:NoWarn=1591 /p:Configuration=Debug /p:Platform="x86"
%msbuildx64% "%src%%sln%" %verbosity% /t:Clean;Build /p:NoWarn=1591 /p:Configuration=Debug /p:Platform="x64"
%msbuildx86% "%src%%sln%" %verbosity% /t:Clean;Build /p:NoWarn=1591 /p:Configuration=Release /p:Platform="Any CPU" <-- x86 or x64?
%msbuildx86% "%src%%sln%" %verbosity% /t:Clean;Build /p:NoWarn=1591 /p:Configuration=Release /p:Platform="x86"
%msbuildx64% "%src%%sln%" %verbosity% /t:Clean;Build /p:NoWarn=1591 /p:Configuration=Release /p:Platform="x64"
【问题讨论】:
-
这无关紧要。就像平台名称一样无关紧要。对托管代码而言,唯一重要的是强制抖动,即您在 IDE 的 Project + Properties、Build 选项卡中设置的那个。您应该始终使用 IDE 使用的 msbuild.exe。这不是您要使用的那个。使用 Visual Studio 命令提示符,键入“where msbuild.exe”。
-
C:\Program Files (x86)\Microsoft Visual Studio 11.0>where msbuild.exe C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe C:\Windows\Microsoft.NET\Framework\v3.5\MSBuild.exe我不需要 64 位 MSBuild 来构建 64 位平台吗?
标签: visual-studio visual-studio-2012 msbuild msbuild-4.0