My directory structure looks like this:
-- Host Program Base
|- HostProgram.exe
|- SharedLIB.dll
|-- LoadedLibs
|- HostedLib.dll
HostProgram.exe
is attempting to load HostedLib.dll
, which depends on SharedLib.dll
.
Thus, SharedLib.dll
's ApplicationBase
for the AppDomain
I am creating to load it is /Host Program Base/HostedLibs/
, but it needs to be able to find SharedLib.dll
.
I have tried to add ..
to the PrivateBinPath
for the AppDomain
but according to MSDN,
Private assemblies are deployed in the same directory structure as the application. If the directories specified for PrivateBinPath are not under ApplicationBase, they are ignored.
As the PrivateBinPath
is not inside the ApplicationBase
, but rather is one directory up, it is not inside ApplicationBase
and is being ignored. Therefore I get a AssemblyResolveException
when attempting to load the DLL into the new AppDomain
.
I have also attempted to set the ApplicationBase
to the Host Program Base
folder and add HostedLibs
as a PrivateBinPath
, but this causes the domain to be unable to resolve HostedLib.dll
at all.
So -> how do I resolve libraries outside ApplicationBase
using an AppDomainSetup
?