VS2010 と VB.net (相互運用) で Windows com オブジェクトを作成しています。
この com オブジェクトは、Word、Excel、またはこの場合は Access などの非マネージ コード アプリケーションで動作できる必要があります。
com オブジェクトの作成と regasm の使用などは正常に機能します。問題ない。
ただし、接続文字列または app.config ファイルから他の何かを必要とする com オブジェクトを作成すると、失敗します。この場合、たまたま Web サービスであり、一般的な「エンドポイント」または app.config ファイルが見つからないというエラーが発生します。(単なる接続文字列の場合は、この値を読み込むだけで済みますが、Web サービスの定義のために構成ファイルが非常に煩雑になります)。
.dll と app.config を、Excel などのオフィス プログラムと同じディレクトリに配置してから、構成ファイルの名前を Excel.exe.config に変更すると機能するはずだと示唆する人もいます。
これは私にとってはうまくいかないようです。
メインアプリケーションファイルではなく.dllの構成ファイルをロードして使用することを知っているcomオブジェクトであるvb.netクラス(.dll)を持つ手段はありますか?
この場合、Word や Excel などの管理されていないアプリケーションを起動し、クラス オブジェクトを使用しようとしているため、メイン アプリケーションの構成ファイルがないことに注意してください。
vb.net では明らかに、構成ファイルを .dll からメイン アプリケーションの構成にコピーできます。前述のように、管理された「メイン」ファイルがありません。
では、オブジェクトのインスタンスが非マネージ コードで作成されたときに、class.dll ファイルに class.dll.config ファイルをロードさせるにはどうすればよいでしょうか。