2013-04-10 43 views
4

我目前收到以下錯誤。在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肯定位於指向它的本地計算機上。我也嘗試刪除並重新添加引用。

有誰知道什麼會導致此錯誤?

什麼是程序集清單定義?

在此先感謝您的幫助,我非常感激。

+0

我討厭這個問題 - 我以前見過它,因爲它的噩夢,是出現在垃圾桶裏的dll? – 99823 2013-04-10 00:27:10

+0

另外 - 你確定你正在使用的版本是6.5.4.0? – 99823 2013-04-10 00:28:06

+0

http://stackoverflow.com/questions/215026/the-located-assemblys-manifest-definition-does-not-match-the-assembly-reference – 99823 2013-04-10 00:28:41

回答

8
在Visual Studio

選擇在Solution Explorer中引用然後在屬性確保Specific Version屬性設置爲false

如果您有在web.config此引用的條目,編輯該文件並刪除版本信息。

如果您關閉Visual Studio並打開一個文本編輯器的項目文件,確保在項目文件中的程序集的版本沒有列出,但只有名稱和類型,所以只要刪除以下:

, Version=6.5.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d' 

,那麼它應該,如果您使用的是6.5.5或6.5.4,只要代碼使用兩種可用的類和方法的工作不管。

0

我也遇到同樣的問題非常幾天前,當您有早期版本建立自己的一些DLL,現在你必須改變依賴的DLL版本,但沒有再生成DLL得到這個錯誤。請檢查是否有任何構建在早期版本上的組件。當我們構建任何DLL時,DLL自身在清單中添加所有依賴信息,以便在需要時加載所有依賴信息。所以,如果你刪除DLL版本,你需要重新編譯所有的組件,然後用

0

此問題仍然存在,也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" /> 
1

我經歷過同樣的情況,並設法與這些步驟解決問題,

仔細閱讀錯誤信息,其中提供了有用的詳細信息以糾正這種情況。 我不會更改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文件夾)

希望這有助於!謝謝

0

我已經在一個新的機器上的舊的asp.net 2.0網站。在我的情況下,來自GAC的MySql程序集無法加載,因爲它是.NET 4.0。在web.config中的程序集重定向不起作用。我固定它,如下所示:

0

我得到了同樣的錯誤,並且文件完全存在。 如果您在您的錯誤旁邊看到一個SGEN,您可以試試這個:

在項目屬性窗口中,轉到Build並在Output部分轉到Generate serialization assembly下拉菜單。將「自動」值更改爲「關」並重新編譯。

如果需要,您可以將其重新設置爲自動。

相關問題