代码之家  ›  专栏  ›  技术社区  ›  corymathews

应用程序在调试时运行,但在发布时不运行

  •  1
  • corymathews  · 技术社区  · 14 年前

    当发布Web应用程序然后运行它时,将返回错误

    “无法加载文件或程序集”“baseapplicationname”“或其依赖项之一。”试图加载格式不正确的程序。“

    但是,如果我通过 调试(F5)它正确运行 .

    我想归根结底是

    通过调试运行应用程序与发布应用程序之间有什么不同会导致这样的问题?

    发布时,我将其设置为删除所有现有内容。

    历史是如何开始的… 我在64位系统中添加了32位oracle.dataaccess dll。如果给出与上面相同的错误,但使用oracle.dataaccess名称而不是baseapplicationname,它将不会工作并崩溃。此后,我删除了对它的所有引用,并删除了该dll以尝试让它在没有它的情况下再次运行。

    有什么建议吗?

    3 回复  |  直到 14 年前
        1
  •  1
  •   Otávio Décio    14 年前

    解决方案中的x86与x64不匹配,错误的格式消息指尝试从32位可执行文件加载64位dll,反之亦然。

        2
  •  0
  •   Gustaf Carleson    14 年前

    你试过“清理”你的解决方案然后重建它吗?

        3
  •  0
  •   jnoss    14 年前

    我不确定您使用的是哪个版本的VS,但我注意到在2005年和2008年,它的问题在于依赖于那些不再使用的依赖项。在发布步骤中,它可能仍在引用Oracle DLL,而位问题(32对64)会给出您看到的错误。

    如果在vs中看不到任何对Oracle文件的引用,我将在记事本中打开*proj文件,并查看是否有对它的隐藏引用,这些引用可能在发布时被推送到服务器。

    高温高压