2011-09-21 114 views
1

序言 - 如果我將Windows環境變量添加到應用程序的安裝目錄路徑中,我不需要使用CD安裝目錄來執行它。PATH環境變量和相對文件路徑

問題 - 我的應用程序中的相對文件路徑是否根據控制檯中的當前執行路徑或根據安裝目錄進行解釋。奇怪的是,在我的應用程序中,路徑被解釋爲與當前執行路徑相關,從而導致異常(文件未找到等)。

請幫我一把。

回答

1

您遇到的行爲(相對路徑在當前工作目錄的上下文中進行評估)是由設計決定的。

如果你要始終把旁邊的當前執行的程序集的文件,這段代碼可能會派上用場:

public static string GetPathRelativeToExecutingAssemblyLocation(string aRelativePath) 
{ 
    return Path.Combine(
     Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), 
     aRelativePath); 
}