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

时间:2010-05-10 16:05:50

标签: c# asp.net

发布我的Web应用程序然后运行它将返回错误

“无法加载文件或程序集”BaseApplicationName“或其中一个依赖项。尝试加载格式不正确的程序。”

但是如果我通过调试(f5)运行应用程序它正确运行

我想它归结为

通过调试和发布应用程序运行应用程序时会出现什么差异会导致类似这样的问题?

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

它是如何开始的历史...... 我将32位Oracle.DataAccess dll添加到我的64位系统中。它不会工作,崩溃会产生与上面相同的错误,但会使用Oracle.DataAccess名称而不是baseApplicationName。我已经删除了对它的所有引用并删除了dll以尝试让它在没有它的情况下再次运行。

有什么建议吗?

3 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

您是否曾尝试“清理”您的解决方案,然后重建它?

答案 2 :(得分:0)

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

如果在VS中看不到对Oracle文件的任何引用,我会在记事本中打开* proj文件,看看是否存在可能在发布时推送到服务器的隐藏引用。

HTH