我有一个针对.NET 4.5.2上的“AnyCPU”平台构建的程序集 但是当我在64位机器上运行程序集时,dll采用32位格式, 在研究了很多之后,我开始了解这个thing,在.NET 4.5及以上版本中,“带有32BITPREF的ANYCPU”就是它的缺陷。 我们可以使用corflags工具并将标志设置为32bitpref-,这样dll将占用64位。
但我的问题是必须只从构建脚本发生,以便以后不需要手动更改它。
就像我们为平台和发布模式或调试模式指定的那样
是否有32bitpref-的任何属性,这样它只能从构建脚本设置/重置?
提前感谢您的帮助。
此致 PREM
答案 0 :(得分:1)
很多属性在msbuild中都有合理的名称来设置它们。这也是这种情况,属性名为Prefer32Bit,因此可以在csproj文件中设置:
<Prefer32Bit>false</Prefer32Bit>
与所有属性一样,可以使用/ property:[PropertyName] = [PropertyValue]语法(或简称:/ p:[PropertName] = [PropertyValue])从msbuild命令行设置。
msbuild ... /property:Prefer32Bit=false