none
關於The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)的錯誤 RRS feed

  • 問題

  •  

    各位大家好,前一陣子因為有某位大哥提示資料庫的關連欄位最好使用Guid來做,所以小弟的mysql資料庫程式便去找了新版的mysql connector/net 5.2.1來使用。但是因為這一版根據使用過的人表示,在Guid欄位使用上會有點小小問題,所以小弟便依照高手的指示去修改了connector/net的程式碼,然後重新編譯產生MySql.Data.dll,接著便把它複製到的專案的目錄下。

    結果重新編譯專案時,便出現了以下錯誤訊息:

     

    An unhandled exception of type 'System.IO.FileLoadException' occurred in XmlMaker.exe

    Additional information: Could not load file or assembly 'MySql.Data, Version=5.2.1.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

     

    然後就無法繼續編譯了。請問是否有人知道這是為什麼呢?先謝謝大家。

    2008年4月4日 上午 08:14

解答

  • 後來我發現,原來是我沒有把編譯好的組件加入GAC,所以才會出現這樣的問題....

    有兩個步驟要做,

    1. 要先把編譯的組件做編碼運算,產生所謂的PublicKeyToken,如果沒有這一步,下面那一步就不會成功了。
    2. 使用gacutil /i把編譯好的組件加入GAC.

    這樣就可以了,雖然好像做的不是很對,不過這樣確實可以跑了....@@

     

     tttp 寫信:

     

    各位大家好,前一陣子因為有某位大哥提示資料庫的關連欄位最好使用Guid來做,所以小弟的mysql資料庫程式便去找了新版的mysql connector/net 5.2.1來使用。但是因為這一版根據使用過的人表示,在Guid欄位使用上會有點小小問題,所以小弟便依照高手的指示去修改了connector/net的程式碼,然後重新編譯產生MySql.Data.dll,接著便把它複製到的專案的目錄下。

    結果重新編譯專案時,便出現了以下錯誤訊息:

     

    An unhandled exception of type 'System.IO.FileLoadException' occurred in XmlMaker.exe

    Additional information: Could not load file or assembly 'MySql.Data, Version=5.2.1.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

     

    然後就無法繼續編譯了。請問是否有人知道這是為什麼呢?先謝謝大家。

    2008年4月4日 上午 11:29