Assembly.Load和Environment.CurrentDirectory

时间:2008-09-25 20:55:05

标签: c# .net assemblies

我意识到这里有一个相关的线程: Loading assemblies and its dependencies

但我正在修改某些内容,但这并不完全适用。

string path = Path.GetDirectoryName( pathOfAssembly ); 
Environment.CurrentDirectory = path;
Assembly.Load(Path.GetFileNameWithoutExtension(pastOfAssembly));

你真的有理由这样做吗?使用不会更有意义:

Assembly.LoadFile(pathOfAssembly);

非常感谢任何见解。

2 个答案:

答案 0 :(得分:5)

看起来像“冗余部门。”

比必要的代码多得多。少即是多了!

编辑:第二个想法,可能是您加载的程序集中存在依赖项,这些依赖项存在于自己的文件夹中,可能需要使用第一个程序集。

答案 1 :(得分:0)

在开发Windows服务时,这可能是必要的。服务的工作目录默认为%WinDir%,因此如果要从服务exe所在的目录加载程序集,则可以采用此方法。