2008-09-25 42 views
2

我知道有一個有點相關的線程上此位置: Loading assemblies and its dependenciesAssembly.Load和Environment.CurrentDirectory

但我修改的東西,這並不完全適用。

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

是否有任何真正的理由,你會這樣做?難道只有使用它才更有意義:

Assembly.LoadFile(pathOfAssembly); 

任何洞察力將不勝感激。

回答

5

看起來像「冗餘部門」。

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

編輯:第二個想法可能是您正在加載的程序集具有依賴關係,這些依賴關係存在於可能需要使用第一個程序集的文件夾中。

+0

這正是他們爲什麼這麼做的原因......謝謝 – 2008-09-25 21:07:16

0

當您開發Windows服務時,這可能是必需的。一個服務的工作目錄默認爲%WinDir%,所以如果你想從你的服務exe所在的目錄加載一個程序集,這是要走的路。

相關問題