更改 Web 配置导致 "Could not find assembly..." 错误

Change in web config results in "Could not find assembly..." error

我在 IIS 7.5 中托管的 ASP.NET MVC 应用程序遇到了一个令人难以置信的愚蠢情况。案例如下:

  1. 我将应用程序发布到服务器并进行测试。效果很好
  2. 我更改了 web.config 文件中的任何内容,然后撤消更改。所以它处于原始状态
  3. 我再次测试应用程序,但这次我得到了 Could not load file or assembly 'file:///C:\Windows\Microsoft.NET\Framework64\v4.0.30319\System.Data.dll' or one of its dependencies. An attempt was made to load a program with an incorrect format. 错误。

请注意:我只是打开 web.config 文件并进行编辑,然后立即撤消该编辑。我在哪个部分的哪一行进行编辑并不重要。 (毕竟,那里的配置文件不是不必接触代码吗?)

现在更有趣的部分来了。

  1. 我把最新发布的文件复制粘贴到应用文件夹
  2. 测试应用程序:仍然出现相同的错误
  3. 我将应用程序和 copy/paste 重新发布到文件夹,除了 WEB.CONFIG 文件 。所以我什至不碰 "damaged" 配置文件。
  4. 测试一下,瞧,它有效。

我只是不明白。你对这个问题有什么线索吗?

问题是由名为 EntityFramework Profiler 的第三方工具引起的,我用它跟踪了 Entity Framework 发出的 SQL 命令。从应用程序中删除它后,问题消失了。