我的目录结构如下所示:
-- Host Program Base
|- HostProgram.exe
|- SharedLIB.dll
|-- LoadedLibs
|- HostedLib.dll
HostProgram.exe正在尝试加载HostedLib.dll,这取决于SharedLib.dll.
因此,我SharedLib.dll正在创建以加载它,但它需要能够找到.ApplicationBaseAppDomain/Host Program Base/HostedLibs/SharedLib.dll
我试图添加..到PrivateBinPathforAppDomain但根据MSDN,
私有程序集部署在与应用程序相同的目录结构中。如果为 PrivateBinPath 指定的目录不在 ApplicationBase 下,它们将被忽略。
由于PrivateBinPath不在 内部ApplicationBase,而是在一个目录中,因此它不在内部ApplicationBase并且被忽略。因此,AssemblyResolveException当我尝试将 DLL 加载到新的AppDomain.
我还尝试将 设置ApplicationBase为Host Program Base文件夹并添加HostedLibs为PrivateBinPath,但这会导致域根本无法解析HostedLib.dll。
那么->如何ApplicationBase使用AppDomainSetup?