2013-02-24 28 views
5

Ich versuche, ILMerge zu verwenden, um mein C# -Programm mit 3 referenzierten DLLs zu kombinieren. Wenn ich das Programm ohne Zusammenführen ausführen, läuft alles gut, aber wenn ich sie zusammenführe, bekomme ich den "Void System.Threading.Monitor.Enter" Fehler.Void System.Threading.Monitor.Enter Fehler bei Verwendung von ILMerge

Hier sind die DLL ich die Kombination bin:

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

Der Fehler tritt aus dem MySql.Data.dll zu kommen, aber ich bin nicht wirklich sicher, warum es diese Ausnahme auslösen würde.

Alle Ideen sehr geschätzt.

EDIT: Voll Fehler Ich erhalte ist:

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

Fügen Sie immer die vollständige Fehlerinformation hinzu. Erleichtert das Auffinden ähnlicher Fehler. –

+1

Monitor.Enter (Object, Boolean%) wurde in .NET 4.0 hinzugefügt. Verweist die zusammengeführte Assembly auf die .NET 4.x-Assemblys oder eine ältere Version? – dtb

+0

Können Sie mir sagen, wie Sie das überprüfen? Ich weiß mein Programm ist aber ich bin mir nicht sicher, wie man überprüft, ob MySql.Data ist. – Reg

Antwort

1

Welche Version des Frameworks verwenden Sie? Es gibt eine Zielplattform-Option, die Sie möglicherweise festlegen müssen, wenn Sie beispielsweise 4.0/4.5 verwenden.

/targetplatform:version,platformdirectory