2013-02-24 9 views
5

Próbuję użyć ILMerge do połączenia mojego programu C# z 3 odnośnikami DLL. Jeśli uruchomię program bez ich scalania, wszystko działa dobrze, ale gdy je scalę, otrzymuję błąd "Void System.Threading.Monitor.Enter".Void System.Threading.Monitor.Enter Error podczas korzystania z ILMerge

Oto DLL jestem łącząc: pojawia

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

Błąd być pochodzących z MySql.Data.dll ale nie jestem pewien, dlaczego byłoby wyrzucić ten wyjątek.

Wszelkie pomysły bardzo doceniane.

EDIT: Pełny błąd otrzymuję to:

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

Zawsze dodawaj pełne informacje o błędzie. Ułatwia znalezienie podobnych błędów. –

+1

Monitor.Enter (Object, Boolean%) został dodany w .NET 4.0. Czy połączony zespół odwołuje się do zespołów .NET 4.x lub starszej wersji? – dtb

+0

Czy możesz mi powiedzieć, jak to sprawdzić? Wiem, że mój program jest, ale nie jestem pewien, jak sprawdzić, czy MySql.Data jest. – Reg

Odpowiedz

1

Jaka wersja ramach używasz? Istnieje opcja targetplatform, którą możesz ustawić, jeśli korzystasz na przykład z wersji 4.0/4.5.

/targetplatform:version,platformdirectory

Powiązane problemy