Как загрузить файл, который я связал с установкой моей программы на C #? - PullRequest
0 голосов
/ 07 июля 2010

Мне нужно сделать что-то вроде этого:

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

За исключением того, что я не знаю, где пользователь установил программу.Как моя программа должна знать, где находятся установленные файлы?

Я нуб, если вы не заметили.

Ответы [ 6 ]

3 голосов
/ 07 июля 2010

Вы можете использовать Assembly.GetEntryAssembly().Location, чтобы получить путь на диске вашего исполняемого файла, Path.GetDirectoryName, чтобы получить каталог, в котором он находится, а затем Path.Combine, чтобы объединить имя каталога с вашим именем файла в этом каталоге. Итак:

StreamReader reader = new System.IO.StreamReader(Path.Combine(
    Path.GetDirectoryName(Assembly.GetEntryAssembly().Location), 
    "awesomeloadablefile.ldf"));
1 голос
/ 07 июля 2010

Попробуйте что-то вроде этого.

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

0 голосов
/ 07 июля 2010

Это даст вам путь к каталогу exe.Я предполагаю, что именно там вы решили положить файл.В противном случае вы можете указать его местоположение в программе установки.Вы используете установщик Visual Studio?

Application.StartupPath
0 голосов
/ 07 июля 2010

Предполагая, что вы знаете структуру каталогов относительно вашего исполняемого файла, вы можете использовать Application.StartupPath:

string path = Path.Combine(Application.StartupPath, "awesomeloadablefile.ldf");
StreamReader reader = new System.IO.StreamReader(path);
0 голосов
/ 07 июля 2010

Вы можете попробовать это:

 File.ReadAllText(AppDomain.CurrentDomain.BaseDirectory + "awesomeloadablefile.txt"); 
0 голосов
/ 07 июля 2010

Что-то вроде Assembly.GetExecutingAssembly().Location должно работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...