这个异常在本地调试时不显示,只有当我浏览到服务器的远程 url 地址时才会显示。
我已通过 FTP 将 MVC 3 应用程序连接到我的远程服务器,检查那里的 Bin 文件夹显示我拥有所有三个 MySQL 引用程序集。所有版本都是 6.4.4.0
。
在我的 web.config 文件中,所有与这些相关的版本号都设置为版本 6.4.4.0
。
为什么我会收到有关版本 6.3.6.0
的错误消息,如何解决?
Could not load file or assembly 'MySql.Data, Version=6.3.6.0,culture=neutral, PublicKeyToken=c5687fc88969c44d' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
Exception Details: System.IO.FileLoadException: Could not load file or assembly 'MySql.Data, Version=6.3.6.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
最佳答案
有很多事情需要检查,但我遇到的最常见的事情是通过确保在 Visual Studio 项目中正确引用程序集以及 web.config 中的信息正确来解决的.
在 Visual Studio 中,检查程序集引用的属性
- 验证列出的版本。
- 检查特定版本是否为真/假。
- 检查复制本地是否为真。
- 如果版本错误,您可能需要删除并重新添加引用。
我猜你的本地机器上没有抛出异常,因为旧版本的程序集在你的机器上可用。
您的本地信息在异常中显示的原因与程序集引用问题无关。您的本地系统是构建程序集的地方,因此内置信息以用于调试目的。 (如果在调试时抛出此异常,VS 会将您带到该文件的那一行。)
关于ASP.NET 异常错误提到旧版本的 MySQL.Data 未在应用程序中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7678371/