2013-02-24 13 views
5

ILMergeを使用してC#プログラムを3つの参照DLLと結合しようとしています。私はそれらをマージせずにプログラムを実行すると、すべてがうまく動作しますが、私がそれらをマージすると、"Void System.Threading.Monitor.Enter"エラーが発生します。ここでVoid System.Threading.Monitor.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

常に完全なエラー情報を追加してください。同様のエラーを見つけるのが簡単になります。 –

+1

.NET 4.0では、Monitor.Enter(Object、Boolean%)が追加されました。マージされたアセンブリは、.NET 4.xアセンブリまたはおそらく古いバージョンを参照していますか? – dtb

+0

これを確認する方法を教えてください。私のプログラムはわかりますが、MySql.Dataがどうかどうかを確認する方法がわかりません。 – Reg

答えて

1

使用しているフレームワークのバージョンは何?たとえば、4.0/4.5を使用している場合に設定する必要のあるターゲットプラットフォームオプションがあります。

/targetplatform:version,platformdirectory

関連する問題