设置manully汇编参考

时间:2016-08-22 12:03:26

标签: c# .net-assembly

我有这个结构

--Loader.exe
--Core.dll
--Plugins/Test.dll

--C:\Program Files\Program\Program.exe

程序集Test.dll引用了Core.dll,这很好。当我运行Loader.exe时,它会将Core.dll注入另一个进程(Program.exe),当它执行时,它会尝试加载程序集Test.dll。问题是Test.dll正在路径C:\ Program Files \ Program \ instad中添加它的路径中寻找引用Core.dll。

解决方案:(我正在搜索)

我正在寻找如何从另一个进程路径的执行路径instad加载引用的方法。

问题:

不要理解Core.dll是否加载了引用Core.dll的程序集,为什么它无法自行加载?

1 个答案:

答案 0 :(得分:2)

从中加载引用程序集的目录由运行代码的AppDomain的配置决定,具体来说,由AppDomain.BaseDirectoryAppDomain.RelativeSearchPath属性决定。默认情况下,程序集从包含入口点程序集的目录(通常是主EXE应用程序程序集)加载。要自定义这些路径,您需要创建自定义AppDomain。或者,您可以使用Assembly.LoadFileAssembly.LoadFrom手动加载程序集。