我需要做这样的事情:
StreamReader reader =
new System.IO.StreamReader(@"C:\Program Files\The Awesome Program That I Made\awesomeloadablefile.ldf");
除了我不知道用户安装程序的位置。我的程序应该如何知道安装文件的位置?
我是个菜鸟,万一你没注意到。
答案 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