私はこの構造のC#でアプリケーションを内蔵:セットアセンブリ基準経路
SystemPath
- MainApplication.EXE
- API.dll
- モジュール
------- Module1.dll
------- Module2.dll
MainApplication.exeには、アセンブリAPI.dllが参照されています。また、アセンブリModule1とModule2を "Assembly.Load(dllFile)"で使用します。 ファイルModule1.dllとModule2.dllにもファイルAPI.dllが必要です。
したがって、それらは同じパスでAPI.dllが必要です。ファイルAPI.dllを両方のディレクトリ(SystemPathとModules)に配置する必要があります。
私が欲しいのは、ファイルにAPI.dllがAssembly.Loadをロードしているときにそのフォルダにあることをモジュールに伝える方法です。
グローバルアセンブリキャッシュは使用できません。この構造は変更できません。
私はこれを解決するために何ができますか?
Stack Overflowで 'AppDomain.CurrentDomain.AssemblyResolve'を検索することをお勧めします。あなたは、あなたの質問に答える既存の質問を見つける必要があります。 – stakx