序言 - 如果我將Windows環境變量添加到應用程序的安裝目錄路徑中,我不需要使用CD安裝目錄來執行它。PATH環境變量和相對文件路徑
問題 - 我的應用程序中的相對文件路徑是否根據控制檯中的當前執行路徑或根據安裝目錄進行解釋。奇怪的是,在我的應用程序中,路徑被解釋爲與當前執行路徑相關,從而導致異常(文件未找到等)。
請幫我一把。
序言 - 如果我將Windows環境變量添加到應用程序的安裝目錄路徑中,我不需要使用CD安裝目錄來執行它。PATH環境變量和相對文件路徑
問題 - 我的應用程序中的相對文件路徑是否根據控制檯中的當前執行路徑或根據安裝目錄進行解釋。奇怪的是,在我的應用程序中,路徑被解釋爲與當前執行路徑相關,從而導致異常(文件未找到等)。
請幫我一把。
相對路徑將被解釋爲相對於Environment.CurrentDirectory
。
它將默認爲進程啓動的目錄,但可以更改。
您遇到的行爲(相對路徑在當前工作目錄的上下文中進行評估)是由設計決定的。
如果你要始終把旁邊的當前執行的程序集的文件,這段代碼可能會派上用場:
public static string GetPathRelativeToExecutingAssemblyLocation(string aRelativePath)
{
return Path.Combine(
Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location),
aRelativePath);
}