2013-02-24 57 views
5

我正在嘗試使用ILMerge將我的C#程序與3個引用的DLL相結合。如果我運行程序而不合並它們,一切運行良好,但是當我合併它們時,我得到了"Void System.Threading.Monitor.Enter"錯誤。Void System.Threading.Monitor.Enter使用ILMerge時出錯

這裏是DLL的,我結合:出現

HTMLAgilityPack.dll 
MySql.Data.dll 
RKLib.ExportData.dll 

錯誤要從MySql.Data.dll來,但我真的不知道爲什麼它會拋出此異常。

任何想法非常讚賞。

編輯:我收到完整的錯誤是:

************** Exception Text ************** 
System.MissingMethodException: Method not found: 'Void System.Threading.Monitor.Enter(System.Object, Boolean ByRef)'. 
at MySql.Data.MySqlClient.MySqlConnection.set_ConnectionString(String value) 
at MySql.Data.MySqlClient.MySqlConnection..ctor(String connectionString) in :line 0 
+0

總是添加完整的錯誤信息。使它更容易找到類似的錯誤。 – 2013-02-24 18:11:21

+1

在.NET 4.0中添加了Monitor.Enter(Object,布爾%)。合併的程序集是引用.NET 4.x程序集還是舊版本? – dtb 2013-02-24 18:19:25

+0

你能告訴我如何檢查?我知道我的程序是,但我不知道如何檢查MySql.Data是否。 – Reg 2013-02-24 18:26:43

回答

1

什麼版本的框架您使用的是?例如,如果您使用4.0/4.5,則可能需要設置一個目標平臺選項。

/targetplatform:version,platformdirectory