2017-06-14 37 views
0

我目前在.NET 3.5 UnityEngine,Mono上,並試圖爲我的項目添加Mysql支持。Mysql .NET 3.5的TypeLoad異常

我從下載(v2)中引用了很多版本作爲參考,並將dll放在正確的位置,但是我得到了一個typeload異常。

平臺組件:F:\ ADT \ RustLegacyServer \ rust_server_Data \管理\ MySql.Data.dll(該消息是無害的) TypeLoadException:無法從組件「測試,版本= 0.0.0.0加載類型MySQLConnector', Culture = neutral,PublicKeyToken = null'。

它不想從我的dll中加載我的類,因爲這是它加載Mysql dll或使用它的地方。

任何想法可能導致這種情況?

回答

0

答案多虧到了一個貢獻者

複製 「System.Data.dll中」,從 「程序文件(x86)\團結\編輯\ DATA \單聲道\ LIB \單聲道\統一」 到DLL的文件夾您在您的項目樹中使用

可能需要使用「I18N.dll」,「I18N.West.dll」文件執行此操作。 我正在爲JSON API使用MC System.Data,工作正常,但顯然Mysql因爲某些原因不喜歡Unity平臺上的那種。 Json似乎也在和那個dll合作。

System.Transactions.dll可能也是必需的。如果所有這些都存在,Unity不會有問題

0

也許它找不到它。是虛擬的還是真的? 如果從虛擬驅動器加載參考,可能會遇到很多問題,請使用UNC路徑或實際驅動器。

更好的方法是使用nuget。它將所有軟件包存儲在項目所在的同一文件夾中,每次選擇最新版本或需要的版本時都可以選擇。

或者它可能是您的DLL的錯誤版本。你需要另一個。

+0

這實際上是我使用CIL修改的遊戲。所有的參考DLL應該去託管文件夾,它從來沒有發現它的問題。日誌甚至說「平臺組裝」,所以這有點奇怪。該光盤不是虛擬的。不能使用nuget,在這種情況下不需要。有可能它以某種方式不檢測它。讓我嘗試一些東西。 – DreTaX

+0

我是否需要任何額外的mysql dll參考? – DreTaX

+0

你是否下載了一個mySQL連接器(https://dev.mysql.com/downloads/connector/net/),或者你是否僅僅從安裝MySQL應用程序的文件夾中獲取DLL?因爲,我每次下載並安裝MySQL連接器。如果你去你的解決方案,並選擇「添加引用」,你會看到一個窗口中的所有MySQL庫。 –