現在、Silverlight でいくつかの COM dll を使用していますが、奇妙な問題が発生しています。私が作成した 2 つの .NET COM dll を使用していましたが、どちらも DllImport を通じて他の dll を参照しています。彼らはうまく機能していました。
次に、3 つ目の COM dll をプロジェクトに追加しました。これは、DllImport を介して他の dll も参照します。作成するとすぐに、他の2つは壊れます。彼らは、使用している他の dll が見つからないというエラーをスローします。ただし、3 番目の dll は正常に動作します。
これが私がそれらを作成している方法です
AutomationFactory.CreateObject("Com1");
AutomationFactory.CreateObject("Com2");
AutomationFactory.CreateObject("Com3");
ここでも、Com1 と Com2 のみを使用すると、完全に正常に動作します。Com3 を追加すると正常に動作しますが、他の 2 つはネイティブ dll を見つけることができません。
Com3 で関数を呼び出すことさえしません。作成するだけで、他の関数は機能しなくなります。
何か案は?どういうわけかそれがネイティブdllである可能性があると思いますか? 3 番目の機能がどのように機能するかはわかりませんが、他の機能は機能しません。ネイティブ dll が何かを壊すと、すべての機能が停止すると思われるでしょう。