我有一个针对.NET 4.5.2上的“ AnyCPU”平台构建的程序集
但是,当我在64位计算机上运行该程序集时,dll的格式为32位,
经过大量研究后,我知道了有关thing的问题,在.NET 4.5及更高版本中,“具有32BITPREF的ANYCPU”是默认值。
我们可以使用corflags工具并将标志设置为32bitpref-,这样dll将占用64位。

但是我的问题是只能从构建脚本中进行操作,因此以后无需手动更改它。

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



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

在此先感谢您的帮助。

问候
Prem

最佳答案

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

<Prefer32Bit>false</Prefer32Bit>


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

msbuild ... /property:Prefer32Bit=false

09-10 13:40