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