私は2つのサードパーティのDLL(a.dllとb.dll)をC#アプリケーションの2つで使用しています(参照しています)。私は、第三者のライブラリ内の関数を呼び出す際に、両方のアプリケーションがハングするという繰り返し可能な問題を抱えています。サードパーティのDLLのデッドロック
私はa.dllとb.dll(a2.dllとb2.dll)のコピーを作成して2番目のアプリケーションで使用しようとしましたが、a.dllがb.dll、anb b.dllはa.dllを参照し、これは正しく読み込まれません。
デッドロックがあると思われますが、第三者のライブラリにあります。私はこれを防ぐためにロックを使用することはできません。各アプリケーションはロックを強制して、一度に1つのスレッドしかライブラリにアクセスしないようにしていますが、両方のプログラムをロックすることはできません。
私の質問は、この問題をどのように解決できるかです。
私は、DLLを共有したくないということをOS(Windows XP)に伝えることはできますか?このDLLにアクセスするための責任がある...その方法は、全体のアプリは
これらの異なるアプリケーションはありますか?その場合、各プロセスがそれを正しく処理するため、シングルスレッドアクセスでは問題はありません。あなたはデッドロックがあると思う理由を明確にすることはできますか? –