【问题标题】:Error while trying to run project in debug mode, but works if I run the EXE file尝试在调试模式下运行项目时出错,但如果我运行 EXE 文件则有效
【发布时间】:2023-03-18 09:07:01
【问题描述】:

当我尝试为 Visual Studio 2010 和 Visual Studio 2012 运行调试器时,我收到以下错误:

尝试运行项目时出错:无法加载文件或程序集“MyProject”或其依赖项之一。试图加载格式不正确的程序。

但是当我转到 x64/Debug 文件夹并直接运行 EXE 时,它可以正常打开。

我尝试禁用包含 32 位引用的项目,但即使所有其他项目都是 64 位(通过配置管理器设置),它仍然给我错误

编辑#1:在 32 位编译模式下,我将所有内容都设置为 Any CPU,除了主启动项目为 x86 并且它运行调试模式正常。当我转到 64 位并执行相同操作但将 Main 启动项目更改为 x64 时,它会出现上述错误。我尝试将所有目标值设置为 x64,但仍然没有。

【问题讨论】:

  • @Dhawalk 我没有收到BadImageFormatException。它只是说我在 MessageBox 上以“Microsoft Visual Studio”的窗口标题发布的错误。
  • 你试过x86编译后启动吗?
  • @Dhawalk 调试器在 x86 中启动,而不是在 x64 中启动,但 x86 和 x64 可以在我同事的机器上运行。
  • 对不起。如果不查看项目配置,将不会有太大帮助。弄清楚后请发布解决方案

标签: c# wpf compiler-errors


【解决方案1】:

以下是我对这个问题的修复:

在 Visual Studio 2010 for c# 中,在解决方案资源管理器中右键单击每个项目 -> 属性 -> 构建。 将平台将平台目标更改为 64 位的任何 CPU,或 32 位的 x86。

在那之后我也遇到了一点参考问题,只需删除并重新添加任何导致错误的参考即可。

如果您已经找到解决此问题的方法,请发布一个!谢谢。

【讨论】:

    【解决方案2】:

    我可以确认 Everlight 的技巧确实解决了这个问题。

    我的情况如下:

    • 解决方案是在 x86 上运行的 Visual Studio 2012 中创建的 (32 位)Windows 7。
    • 升级到 x64(64 位)Windows 8 后,我 无法再在同一 Visual Studio 版本中调试解决方案。但是我可以手动运行编译后的 exe 文件。
    • 我遇到的错误是:“尝试运行项目时出错:无法启动程序 'path-to-solution-exe-file'。发生了未知的 Windows Web 服务基础架构错误。”

    解决方法是: 项目 > {项目名称} 属性... > 构建 > 平台目标。 默认情况下它应该是“任何 CPU”。将其更改为 x86 或 x64。

    我希望这对某人有所帮助。

    【讨论】:

      【解决方案3】:

      我在调试 x64 空控制台应用程序时遇到了同样的问题。应用程序在任何情况下都无需调试即可运行,但调试仅适用于 x86/AnyCPU 目标平台(32 位进程),但使用 x64 我得到了:

      尝试运行项目时出错:无法加载文件或程序集“ConsoleApplication1”或其依赖项之一。试图加载格式不正确的程序。

      我的解决方案是关闭 Project -> Properties -> Debug -> Enable the Visual Studio hosting process

      【讨论】:

        猜你喜欢
        • 2015-11-17
        • 1970-01-01
        • 1970-01-01
        • 2011-11-07
        • 2019-09-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多