我编写了一个包装类,使用反射加载其他程序集。Wrapper.dll也通过反射被一个进程加载,以下是图示来解释这种情况。
Process.exe
|___Loads__ Wrapper.dll
|_______Loads___1.dll
|___ Depends___ xyz.dll
以下是文件结构:
Root
|___A
| |__Process.exe
|___B
|__Wrapper.dll
|__C
|__1.dll
|__xyz.dll
我正在使用 Assembly.LoadFile(@"c:\root\B\C\1.dll");
函数来加载 Wrapper.dll
中的 1.dll
,但它无法找到依赖项,因为它试图在 A
目录中查找依赖项,而同一个目录是我们拥有进程可执行文件的位置。