Assembly.Load和Environment.CurrentDirectory
时间:2020-03-06 14:44:56 来源:igfitidea点击:
我意识到这里有一个相关的线程:
加载程序集及其依赖项
但是我正在修改某些内容,但这并不完全适用。
string path = Path.GetDirectoryName( pathOfAssembly ); Environment.CurrentDirectory = path; Assembly.Load(Path.GetFileNameWithoutExtension(pastOfAssembly));
我们真的有任何理由要这样做吗?仅使用它是否更有意义:
Assembly.LoadFile(pathOfAssembly);
任何见识将不胜感激。
解决方案
看起来像"冗余部"。
代码比必要的多得多。少即是多!
编辑:再次考虑,可能是我们正在加载的程序集具有依赖关系,这些依赖关系位于使用第一个程序集可能需要的其自己的文件夹中。
当我们开发Windows服务时,这可能是必需的。服务的工作目录默认为%WinDir%,因此,如果要从服务exe所在的目录中加载程序集,这是一种方法。