Assembly.Load和Environment.CurrentDirectory
-
02-07-2019 - |
题
我意识到这里有一个相关的线程: 加载程序集及其依赖项
但我正在修改某些内容,但这并不完全适用。
string path = Path.GetDirectoryName( pathOfAssembly );
Environment.CurrentDirectory = path;
Assembly.Load(Path.GetFileNameWithoutExtension(pastOfAssembly));
你真的有理由这样做吗?使用不会更有意义:
Assembly.LoadFile(pathOfAssembly);
非常感谢任何见解。
解决方案
看起来像是“冗余部门”。
比必要的代码多得多。少即是多了!
编辑:第二个想法,可能是您加载的程序集中存在依赖项,这些依赖项存在于自己的文件夹中,可能需要使用第一个程序集。
其他提示
在开发Windows服务时,这可能是必要的。服务的工作目录默认为%WinDir%,因此如果要从服务exe所在的目录加载程序集,则可以采用此方法。
不隶属于 StackOverflow