asp服务器错误'无法加载文件或程序集',但程序集肯定存在。
我目前收到以下错误。在locahost网站上。asp服务器错误'无法加载文件或程序集',但程序集肯定存在。
Could not load file or assembly 'MySql.Data, Version=6.5.4.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)
虽然,引用文件夹中确实存在引用,并且该dll肯定位于指向它的本地计算机上。我也尝试删除并重新添加引用。
有谁知道什么会导致此错误?
什么是程序集清单定义?
在此先感谢您的帮助,我非常感激。
选择在Solution Explorer中引用然后在属性确保Specific Version
属性设置为false
。
如果您有在web.config
此引用的条目,编辑该文件并删除版本信息。
如果您关闭Visual Studio并打开一个文本编辑器的项目文件,确保在项目文件中的程序集的版本没有列出,但只有名称和类型,所以只要删除以下:
, Version=6.5.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d'
,那么它应该,如果您使用的是6.5.5或6.5.4,只要代码使用两种可用的类和方法的工作不管。
我也遇到同样的问题非常几天前,当您有早期版本建立自己的一些DLL,现在你必须改变依赖的DLL版本,但没有再生成DLL得到这个错误。请检查是否有任何构建在早期版本上的组件。当我们构建任何DLL时,DLL自身在清单中添加所有依赖信息,以便在需要时加载所有依赖信息。所以,如果你删除DLL版本,你需要重新编译所有的组件,然后用
此问题仍然存在,也MySql.Data的新版本。只要改变从App.config文件版本:
<assemblyIdentity name="MySql.Data" publicKeyToken="c5687fc88969c44d" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.6.5.0" newVersion="6.6.5.0" />6.7.4.0
到oldVersion =“6.6.5.0”
<assemblyIdentity name="MySql.Data" publicKeyToken="c5687fc88969c44d" culture="neutral" />
<bindingRedirect oldVersion="6.6.5.0" newVersion="6.7.4.0" />
我经历过同样的情况,并设法与这些步骤解决问题,
仔细阅读错误信息,其中提供了有用的详细信息以纠正这种情况。 我不会更改machine.config文件。 就像它说的应用程序找不到对程序集MySql.Web的引用,它试图引用的版本是Version = 6.7.4.0。
基于路径安装MySQL时,你将能够找到正确的汇编文件,例如:
C:\Program Files\MySQL\Connector NET 6.7.4\Assemblies\v4.0\MySql.Data.dll
将该文件复制到bin文件夹。 (我将所有文件复制到C:\ Program Files文件\的MySQL \ NET连接器6.7.4 \组件\ V4.0 \文件夹中bin文件夹)
希望这有助于!谢谢
我已经在一个新的机器上的旧的asp.net 2.0网站。在我的情况下,来自GAC的MySql程序集无法加载,因为它是.NET 4.0。在web.config中的程序集重定向不起作用。我固定它,如下所示:
下载MySql.Web和MySql.Data从的NuGet特定版本: https://www.nuget.org/api/v2/package/MySql.Web/6.5.4 https://www.nuget.org/api/v2/package/MySql.Data/6.5.4
打开下载了一个压缩工具包(如7zip的)并将.Net 2.0程序集提取到发生故障的asp.net站点的bin目录中。
我得到了同样的错误,并且文件完全存在。 如果您在您的错误旁边看到一个SGEN,您可以试试这个:
在项目属性窗口中,转到Build并在Output部分转到Generate serialization assembly下拉菜单。将“自动”值更改为“关”并重新编译。
如果需要,您可以将其重新设置为自动。
我讨厌这个问题 - 我以前见过它,因为它的噩梦,是出现在垃圾桶里的dll? – 99823 2013-04-10 00:27:10
另外 - 你确定你正在使用的版本是6.5.4.0? – 99823 2013-04-10 00:28:06
http://*.com/questions/215026/the-located-assemblys-manifest-definition-does-not-match-the-assembly-reference – 99823 2013-04-10 00:28:41