我建立加载32位COM DLL C#应用程序。 编译应用程序运行在32位Windows罚款,但barfs在64位的Windows,因为它无法加载32位COM。 有没有一种方法来设置VC#2008 Express Edition的32位编译目标?
另外,有一种强制编译为AnyCPU构建目标.NET应用程序在32位模式下在64位Windows上运行?
我建立加载32位COM DLL C#应用程序。 编译应用程序运行在32位Windows罚款,但barfs在64位的Windows,因为它无法加载32位COM。 有没有一种方法来设置VC#2008 Express Edition的32位编译目标?
另外,有一种强制编译为AnyCPU构建目标.NET应用程序在32位模式下在64位Windows上运行?
你可以没有明确将其设置为32位在VS Express中的UI,但显然(我只有手头的专业版),它可以使用一个位设置来完成。 该论坛的帖子,对如何做到这一点的详细信息。
你也可以做的是使用CorFlags工具自带的.Net框架SDK设置编译输出为32位运行。 要使用CorFlags设置32位标志,在命令行运行此:
CorFlags.exe /32BIT+ yourapp.exe
这将在你的EXE的头设置一个标志,信号到.NET,它应该运行32位。
对于后人,这里是论坛的帖子阿德里安链接到:
在VC#Express中,此属性丢失,但你仍然可以创建一个x86的配置,如果你知道去哪里找。
它看起来像的步骤,一个长长的清单,但一旦你知道这些东西是它的容易得多。 任何谁只有VC#快递可能会发现这很有用。 一旦你知道配置管理器,它会在下一次更加直观。
- 在VC#Express 2005的,去工具 - >选项。
- 在选项对话框的左下角,检查说,“显示所有设置”复选框。
- 在左侧的树状视图中,选择“项目和解决方案”。
- 在右侧的选项,选中说,勾选“显示高级建立configuraions。”
- 单击确定。
- 去盖 - >配置管理器...
- 在旁边的项目平台列中,单击下拉框,选择“”。
- 在“新平台”设置,选择“86”。
- 单击确定。
- 单击关闭。
在那里,现在你有一个x86配置! 非常简单! :-)
我也建议使用配置管理器删除任何CPU平台。 你真的不希望,如果你曾经有32位原生的DLL(甚至间接依赖)depedencies。