c#獲取可執行程式(exe)路徑問題
阿新 • • 發佈:2019-02-20
最近寫c#程式,單獨執行沒有問題。可以讀取程式目錄下的檔案,而且能寫同一目錄下的日誌文字檔案。但
用任務計劃(taks schedule)呼叫程式執行會出問題。不會寫日誌檔案。除錯很久,發現是程式獲取當前執行
目錄寫法有問題。System.Environment.CurrentDirectory;獲取當前路徑單獨執行沒有問題。放在任務計劃中,
獲取的卻是任務計劃的路徑C:\Windows\system32;可能和任務計劃的設計和執行原理有關。後來
改為獲取當前程序的完整路徑,包含檔名(程序名)才解決。尤其是釋出在伺服器上的程式。很難
除錯,出來問題,首先懷疑的就是分配給自己的使用者許可權問題。伺服器人員不懂程式,扯來扯去。很
麻煩。
string currentpath = System.Reflection.Assembly.GetExecutingAssembly().Location;
string[] name = currentpath.Split('\\');
string path="";
for (int i = 0; i < name.Length-1; i++)
{
path+=name[i]+@"\";
}
path = path + @"\log\test.txt";