我有一个程序集,它是在.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