0

COMを介してレガシーvb6 dllを呼び出す中間C#dllを呼び出すasp.netアプリケーションがあります。実際の呼び出し中に、vb6 dll からのログにエラーが見つかりました。

「ファイルまたはアセンブリ、'Generic_C#_DLL.DataAccess、Version=1.0.0.0、Culture=neutral、PublicKeyToken=f0​​c9890f55677d2' またはその依存関係の 1 つを読み込めませんでした。指定されたファイルが見つかりません」

vb6 COM dll が他の C# dll を読み込もうとするのはなぜですか? vb6 COM dll を呼び出している dll が「Generic_C#_DLL.DataAccess」も参照しているためですか?

「Interops.VB6dll」への参照を持つことで、COM を呼び出している C# dll で vb6 dll を正しく参照していると思います。また、vb6 dll を regasm.exe に適切に登録しました。なぜこれが起こっているのかわからないのですが、誰かアドバイスはありますか?

4

1 に答える 1

2

これを最も効果的に行うには、コードを確認する必要があります。ただし、これには「またはその依存関係の 1 つ」も含まれていることに注意してください。これは、これを妨げる別の読み込みエラーがあることを示している可能性があります。

DLL の読み込みに関する問題を把握するための非常に便利なツールがいくつかあります。

于 2012-07-27T15:15:24.300 に答える