2013-02-24 5 views
5

Sto tentando di utilizzare ILMerge per combinare il mio programma C# con 3 DLL di riferimento. Se eseguo il programma senza unirli, tutto funziona correttamente ma quando li unisco ottengo l'errore "Void System.Threading.Monitor.Enter".Void System.Threading.Monitor.Enter Errore durante l'utilizzo di ILMerge

Ecco la DLL che sto combinando:

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

L'errore sembra essere proveniente dal MySql.Data.dll, ma io non sono davvero sicuro perché getterebbe questa eccezione.

Tutte le idee molto apprezzate.

EDIT: errore completa che sto ricevendo è:

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

Aggiungere sempre le informazioni complete sull'errore. Rende più facile trovare errori simili. –

+1

Monitor.Enter (Object, Boolean%) è stato aggiunto in .NET 4.0. L'assembly unito fa riferimento agli assembly .NET 4.x o forse a una versione precedente? – dtb

+0

Potresti dirmi come controllarlo? So che il mio programma è, ma non sono sicuro di come verificare se MySql.Data è. – Reg

risposta

1

Quale versione del framework stai usando? Esiste un'opzione targetplatform che potrebbe essere necessario impostare se si utilizza 4.0/4.5 ad esempio.

/targetplatform:version,platformdirectory

Problemi correlati