有没有办法构建一个VC项目,以便它创建的dll / exe将作为32位
Windows操作系统上的32位应用程序和64位Windows操作系统(不是WOW64)上的64位应用程序.
我知道使用/ ANYcpu选项的C#应用程序是可能的.
解决方法
CLR为/ ANYcpu选项提供特殊的加载程序支持.
如果你真的想为本地人做这件事,最好的方法是:
>为32位和64位构建二进制文件
>作为构建32位二进制文件的一部分,请将64位二进制文件包含为资源
>在32位计算机上,只需运行32位二进制文件
>在64位计算机上,当32位二进制文件运行时,解压缩64位二进制资源,将其写入磁盘,然后从那里运行它
这就是Sysinternals工具的工作方式(将Process Explorer下载到64位计算机上并运行它:您将看到它将procexp64.exe写入磁盘,然后从那里运行它).这是一个黑客,但它的工作原理.