如何加载我在安装C#程序时捆绑的文件?

时间:2010-07-07 13:16:00

标签: c# installer streamreader readfile

我需要做这样的事情:

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

除了我不知道用户安装程序的位置。我的程序应该如何知道安装文件的位置?

我是个菜鸟,万一你没注意到。

6 个答案:

答案 0 :(得分: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)

尝试这样的事情。

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

答案 2 :(得分:0)

Assembly.GetExecutingAssembly().Location之类的东西应该有用。

答案 3 :(得分:0)

你可以试试这个:

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

答案 4 :(得分:0)

假设您知道相对于可执行文件的目录结构,可以使用Application.StartupPath

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

答案 5 :(得分:0)

这将为您提供exe目录的路径。我假设你决定把文件放在那里。否则,您可以在安装程序中为其指定一个位置。您使用的是Visual Studio安装程序吗?

Application.StartupPath