编译时,我总是将其设置为 Any CPU。然而,有些客户没有所需二进制文件的 64 位版本,即使在 x64 系统上运行也是如此。在这些情况下,我要求他们使用 corflags.exe /32BIT+ 选项修改我的二进制文件:
http://msdn.microsoft.com/en-us/library/ms164699(VS.80).aspx http://msdn.microsoft.com/en-us/library/ms164699(VS.80).aspx
如果 64 位版本不存在,我希望使其透明并在安装期间自行修改二进制文件。我会prefer不要自己调用 corflags.exe,因为这意味着我需要重新分发该应用程序,而这在我们的运输要求中是不允许的。
所以我的问题是;有什么方法可以自己以编程方式修改此标志,或者直接修改二进制文件(是否只是在文件本身的某处设置一个字节)?
我还没有尝试过这个,但是您是否能够在二进制文件的副本上运行 corflags 并执行二进制差异以确定修改了哪些偏移量。您可以将其作为安装脚本的构建操作来执行,并将偏移量存储在安装程序中。
安装时只需根据需要更改偏移量即可。
当然我绝不会赞同这样的行为,只是说
;-)
顺便说一句,如果您不断需要将程序集标记为 32 位,您可以考虑仅针对该平台,而不是事后将其更改为 32 位。
Cheers.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)