2013-02-24 2 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, но я не совсем уверен, почему это было бы бросить это исключение.

Любые идеи очень ценятся.

EDIT: Полная ошибка я получаю это:

************** 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

Всегда добавляйте полную информацию об ошибке. Легче найти похожие ошибки. –

+1

В .NET 4.0 добавлен Monitor.Enter (Object, Boolean%). Связана ли объединенная сборка с сборками .NET 4.x или, возможно, с более старой версией? – dtb

+0

Не могли бы вы рассказать мне, как это проверить? Я знаю, что моя программа, но я не уверен, как проверить, есть ли MySql.Data. – Reg

ответ

1

Какую версию рамок вы используете? Существует опция targetplatform, которую вы можете установить, если используете, например, 4.0/4.5.

/targetplatform:version,platformdirectory