设置32位x86版本的目标在Visual C#2008 Express Edition的?(Sett

2019-07-04 22:49发布

我建立加载32位COM DLL C#应用程序。 编译应用程序运行在32位Windows罚款,但barfs在64位的Windows,因为它无法加载32位COM。 有没有一种方法来设置VC#2008 Express Edition的32位编译目标?

另外,有一种强制编译为AnyCPU构建目标.NET应用程序在32位模式下在64位Windows上运行?

Answer 1:

你可以没有明确将其设置为32位在VS Express中的UI,但显然(我只有手头的专业版),它可以使用一个位设置来完成。 该论坛的帖子,对如何做到这一点的详细信息。

你也可以做的是使用CorFlags工具自带的.Net框架SDK设置编译输出为32位运行。 要使用CorFlags设置32位标志,在命令行运行此:

CorFlags.exe /32BIT+ yourapp.exe

这将在你的EXE的头设置一个标志,信号到.NET,它应该运行32位。



Answer 2:

对于后人,这里是论坛的帖子阿德里安链接到:

在VC#Express中,此属性丢失,但你仍然可以创建一个x86的配置,如果你知道去哪里找。

它看起来像的步骤,一个长长的清单,但一旦你知道这些东西是它的容易得多。 任何谁只有VC#快递可能会发现这很有用。 一旦你知道配置管理器,它会在下一次更加直观。

  1. 在VC#Express 2005的,去工具 - >选项。
  2. 在选项对话框的左下角,检查说,“显示所有设置”复选框。
  3. 在左侧的树状视图中,选择“项目和解决方案”。
  4. 在右侧的选项,选中说,勾选“显示高级建立configuraions。”
  5. 单击确定。
  6. 去盖 - >配置管理器...
  7. 在旁边的项目平台列中,单击下拉框,选择“”。
  8. 在“新平台”设置,选择“86”。
  9. 单击确定。
  10. 单击关闭。

在那里,现在你有一个x86配置! 非常简单! :-)

我也建议使用配置管理器删除任何CPU平台。 你真的不希望,如果你曾经有32位原生的DLL(甚至间接依赖)depedencies。



文章来源: Setting 32-bit x86 build target in Visual C# 2008 Express Edition?