我正在使用Visual Studio 2010构建一个包含x86和x64目标的c#项目。当我使用IDE构建时,我可以得到正确的x64和x86目标结果。
但是,当我在命令行上使用msbuild构建时,尽管我在命令行上指定了x64,但所有内容都被构建为x86。
在我升级到.Net 4.5之前,我没有遇到这个问题。在.Net 4.0中,即使我在命令行上指定了x86,也能够获得我的x64目标。
我在.Net 4.0环境下进行了一次构建,然后在.Net 4.5环境下进行了另一次构建,并将输出导入日志文件中。我注意到日志文件中有一些差异,但我认为这就是导致我的问题的原因:
在.Net 4.0的日志文件中,我看到了这一行:
/reference: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特定的路径。
但是,当我在命令行上使用msbuild构建时,尽管我在命令行上指定了x64,但所有内容都被构建为x86。
在我升级到.Net 4.5之前,我没有遇到这个问题。在.Net 4.0中,即使我在命令行上指定了x86,也能够获得我的x64目标。
我在.Net 4.0环境下进行了一次构建,然后在.Net 4.5环境下进行了另一次构建,并将输出导入日志文件中。我注意到日志文件中有一些差异,但我认为这就是导致我的问题的原因:
在.Net 4.0的日志文件中,我看到了这一行:
/reference: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特定的路径。
Building solution configuration "Debug|x64"
这一行的配置是否正确?你如何理解结果不正确?哪些输出目录被创建 -bin\x86\Debug
还是bin\x64\Debug
? - Lanorkin