2010-07-07 56 views
0

我需要做這樣的事情:如何加載與我的C#程序的安裝捆綁在一起的文件?

StreamReader reader = 
new System.IO.StreamReader(@"C:\Program Files\The Awesome Program That I Made\awesomeloadablefile.ldf"); 

除了我不知道在哪裏的用戶已經安裝了該程序。我的程序應該如何知道已安裝文件的位置?

我是小白,萬一你沒有注意到。

回答

3

您可以使用Assembly.GetEntryAssembly().Location來獲取路徑上的可執行文件的磁盤,Path.GetDirectoryName來得到它的目錄,然後Path.Combine的目錄名文件名組合在那個目錄中。所以:

StreamReader reader = new System.IO.StreamReader(Path.Combine(
    Path.GetDirectoryName(Assembly.GetEntryAssembly().Location), 
    "awesomeloadablefile.ldf")); 
+1

+1 for using Path.Combine() – 2010-07-07 13:24:13

1

嘗試類似這樣的事情。

System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly()。Location);

0

Assembly.GetExecutingAssembly().Location應該工作。

0

你可以試試這個:

File.ReadAllText(AppDomain.CurrentDomain.BaseDirectory + "awesomeloadablefile.txt"); 
0

假設你知道的目錄結構相對於你的可執行文件,你可以使用Application.StartupPath

string path = Path.Combine(Application.StartupPath, "awesomeloadablefile.ldf"); 
StreamReader reader = new System.IO.StreamReader(path); 
0

這將讓你的exe文件目錄的路徑。我假設你決定把這個文件放在哪裏。否則,您可以在安裝程序中指定它的位置。您是否使用Visual Studio安裝程序?

Application.StartupPath 
相關問題