【问题标题】:Setting 32-bit x86 build target in Visual C# 2008 Express Edition?在 Visual C# 2008 Express Edition 中设置 32 位 x86 构建目标?
【发布时间】:2010-11-25 19:14:05
【问题描述】:

我正在构建一个加载 32 位 COM dll 的 C# 应用程序。编译后的应用程序在 32 位 Windows 上运行良好,但在 64 位 Windows 上运行不佳,因为它无法加载 32 位 COM。有没有办法在 VC# 2008 Express Edition 中设置 32 位构建目标?

或者,有没有办法强制编译到 AnyCPU 构建目标的 .NET 应用程序在 64 位 Windows 上以 32 位模式运行?

【问题讨论】:

    标签: c# visual-studio-2008 com 32-bit


    【解决方案1】:

    为了后代,这里是论坛帖子阿德里安链接到:

    在 VC# Express 中,这个属性是 丢失,但您仍然可以创建一个 x86 配置,如果您知道在哪里 看。

    看起来像一长串步骤, 但是一旦你知道这些东西在哪里 是不是容易多了。任何人只要 有VC# Express 大概会发现 这很有用。一旦你知道 配置管理器,会很多 下次更直观。

    1. 在 VC# Express 2005 中,转到工具 -> 选项。
    2. 在“选项”对话框的左下角,选中 说,“显示所有设置”。
    3. 在左侧的树形视图中,选择“项目和解决方案”。
    4. 在右侧的选项中,选中“显示高级 构建配置。”
    5. 点击确定。
    6. 转到构建 -> 配置管理器...
    7. 在项目旁边的平台列中,单击组合框并选择 “”。
    8. 在“新平台”设置中,选择“x86”。
    9. 点击确定。
    10. 点击关闭。

    好了,现在你有了 x86 配置!易如反掌! :-)

    我也推荐使用配置 Manager 删除 Any CPU 平台。你真的不想要那个 如果你曾经依赖 32 位 本机 DLL(甚至是间接的 依赖项)。

    【讨论】:

    • 请注意,在 Visual Studio 2010 中,您需要单击“工具 > 设置 > 专家设置”,然后才会显示“构建”菜单。另外,我认为 2010 年不需要步骤 #1~5。
    • 这正是我正在寻找的。谢谢:)
    【解决方案2】:

    您无法在 VS Express 的 UI 中将其显式设置为 32 位,但显然(我手头只有专业版)可以通过一些设置来完成。 This 论坛帖子有详细说明。

    您还可以使用.Net Framework SDK 附带的CorFlags 工具将编译后的输出设置为32 位运行。要使用 CorFlags 设置 32 位标志,请从命令行运行:

    CorFlags.exe /32BIT+ yourapp.exe
    

    这将在您的 exe 标头中设置一个标志,以向 .Net 发出信号,表明它应该以 32 位运行。

    【讨论】:

    • 非常感谢。链接页面上的说明效果很好。 -- 允许我从 GUI 中选择 32 位
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多