我正在使用 Visual Studio 2010 构建具有 x86 和 x64 目标的 ac# 项目。当我使用 IDE 构建时,我得到了 x64 和 x86 目标的正确结果。
当我在命令行上使用 msbuild 时,我得到的一切都是在 x86 中构建的,即使我在命令行上指定了 x64。
在我从 .Net 4.0 升级到 .Net 4.5 之前,我没有这个问题。
使用 .Net 4.0,即使我在命令行上指定了 x86,我也能够获得我的 x64 目标。
我在 .Net 4.0 环境中进行了构建,然后在 .Net 4.5 环境中进行了另一个构建,并将输出通过管道传输到日志文件中。我注意到日志文件中存在一些差异,但我认为这是导致我的问题的原因:
在 .Net 4.0 中,我在日志文件中看到这一行:
/参考:C:\Windows\Microsoft.Net\assembly\GAC_MSIL\Microsoft.CSharp\v4.0_4.0.0.0__b03f5f7f11d50a3a\Microsoft.CSharp.dll
在 .Net 4.5 中,我在日志文件中看到这一行:/r:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETFramework\v4.0\Microsoft.CSharp.dll"
有任何想法吗?它接缝 .Net 4.5 使用的是 x86 特定路径。