如何强制程序集作为针对AnyCPU平台构建的x64位运行?

时间:2016-05-07 21:10:29

标签: c# visual-studio-2012 msbuild .net-4.5 corflags

我有一个针对.NET 4.5.2上的“AnyCPU”平台构建的程序集 但是当我在64位机器上运行程序集时,dll采用32位格式, 在研究了很多之后,我开始了解这个thing,在.NET 4.5及以上版本中,“带有32BITPREF的ANYCPU”就是它的缺陷。 我们可以使用corflags工具并将标志设置为32bitpref-,这样dll将占用64位。

但我的问题是必须只从构建脚本发生,以便以后不需要手动更改它。

就像我们为平台和发布模式或调试模式指定的那样

是否有32bitpref-的任何属性,这样它只能从构建脚本设置/重置?

提前感谢您的帮助。

此致 PREM

1 个答案:

答案 0 :(得分:1)

很多属性在msbuild中都有合理的名称来设置它们。这也是这种情况,属性名为Prefer32Bit,因此可以在csproj文件中设置:

<Prefer32Bit>false</Prefer32Bit>

与所有属性一样,可以使用/ property:[PropertyName] = [PropertyValue]语法(或简称:/ p:[PropertName] = [PropertyValue])从msbuild命令行设置。

msbuild ... /property:Prefer32Bit=false