私はクラス ライブラリの操作にかなり慣れていないので、誰かが何か不足しているかどうか、または私がやろうとしていることはそれだけの価値があるかどうかを教えてくれることを望んでいました:
VB6 アプリケーションから実行されている dll があります。これを test.dll と呼びます。Test.dll は、Dep.dll と呼ぶ別の .dll を使用します。
最初に、Test.dll に Dep.dll への参照を追加し、Copy Local = 'False' に設定しました。次に、VB6 アプリケーション構成ファイルでアセンブリ バインディングを設定します。
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Dep Name"
publicKeyToken="xxxxxxxxxxx"
culture="neutral" />
<codeBase version="1.0.0.2"
href="file:\\dir_name\dep.dll"/>
<bindingRedirect oldVersion="1.0.0.0" newVersion="1.0.0.2"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
しかし、Test.dll 用の app.config ファイルを作成し、VB6.exe 用のアプリ構成ファイルの代わりに前述のエントリをそこに入れることができたと聞いています。
何らかの理由で、参照をこのように機能させることができませんでした。エラーメッセージは次のとおりです。
ファイルまたはアセンブリ 'Dep.dll, Version=1.0.0.2,Culture=neutral,PublicKeyToken=xxxxxxxxxxx' またはその依存関係の 1 つを読み込めませんでした。システムは、指定されたファイルを見つけることができません。
app.config ファイルの Build Action プロパティを「Content」に変更し、Copy Output プロパティを「Copy Always」に変更しました。また、Test.dll のプロジェクト ファイル内にある Dep.dll への元の参照に対しても何もしませんでした。VB6.exe の app.config ファイルから Dep.dll のアセンブリ バインド エントリを削除しました。
app.config ファイルを使用した dll の動作例を 1 つここに示しますが、アセンブリをバインドせず、多数のアプリ設定を持っているだけです。
私が行っている研究は、おそらく私がやっていることは不可能であるか、ベストプラクティスでさえないことを示唆していますが、今私がしようとしていることが可能かどうかを知りたいだけです. もしそうなら、私は何が欠けていますか?