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



我有一个程序集,它是在.NET 4.5.2上的"AnyCPU"平台上构建的但是当我在64位机器上运行程序集时,dll采用32位形式,在研究了很多之后,我了解到在.NET 4.5及更高版本中,"ANYCPU with 32BITPREF"是默认的。我们可以使用corflags工具并将标志设置为32bitpref-,这样dll将使用64位。

但我的问题是,这只能从构建脚本中发生,这样以后就不需要手动更改了。

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

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

提前感谢您的帮助。

问候Prem

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

<Prefer32Bit>false</Prefer32Bit>

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

msbuild ... /property:Prefer32Bit=false

最新更新