我需要做這樣的事情:如何加載與我的C#程序的安裝捆綁在一起的文件?
StreamReader reader =
new System.IO.StreamReader(@"C:\Program Files\The Awesome Program That I Made\awesomeloadablefile.ldf");
除了我不知道在哪裏的用戶已經安裝了該程序。我的程序應該如何知道已安裝文件的位置?
我是小白,萬一你沒有注意到。
我需要做這樣的事情:如何加載與我的C#程序的安裝捆綁在一起的文件?
StreamReader reader =
new System.IO.StreamReader(@"C:\Program Files\The Awesome Program That I Made\awesomeloadablefile.ldf");
除了我不知道在哪裏的用戶已經安裝了該程序。我的程序應該如何知道已安裝文件的位置?
我是小白,萬一你沒有注意到。
您可以使用Assembly.GetEntryAssembly().Location
來獲取路徑上的可執行文件的磁盤,Path.GetDirectoryName
來得到它的目錄,然後Path.Combine
的目錄名文件名組合在那個目錄中。所以:
StreamReader reader = new System.IO.StreamReader(Path.Combine(
Path.GetDirectoryName(Assembly.GetEntryAssembly().Location),
"awesomeloadablefile.ldf"));
嘗試類似這樣的事情。
System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly()。Location);
像Assembly.GetExecutingAssembly().Location
應該工作。
你可以試試這個:
File.ReadAllText(AppDomain.CurrentDomain.BaseDirectory + "awesomeloadablefile.txt");
假設你知道的目錄結構相對於你的可執行文件,你可以使用Application.StartupPath
:
string path = Path.Combine(Application.StartupPath, "awesomeloadablefile.ldf");
StreamReader reader = new System.IO.StreamReader(path);
這將讓你的exe文件目錄的路徑。我假設你決定把這個文件放在哪裏。否則,您可以在安裝程序中指定它的位置。您是否使用Visual Studio安裝程序?
Application.StartupPath
+1 for using Path.Combine() – 2010-07-07 13:24:13