我有这个结构
--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 \Program\ instad中的引用Core.dll。
解决方案:(我在搜索)
我正在简单地寻找如何从执行路径实例和他人的进程路径加载引用的方法。
问题:
不明白Core.dll是否加载了与Core.dll相关的程序集,为什么不能从自身加载?
发布于 2016-08-22 04:51:06
加载引用程序集的目录由运行代码的AppDomain
的配置确定,特别是由AppDomain.BaseDirectory和AppDomain.RelativeSearchPath属性决定。默认情况下,程序集是从包含入口点程序集(通常是主EXE应用程序集)的目录加载的。要自定义这些路径,您需要创建一个自定义AppDomain
。或者,您可以手动加载程序集,例如使用Assembly.LoadFile或Assembly.LoadFrom。
https://stackoverflow.com/questions/39079069
复制