Получить FileInfo на себя? - PullRequest
       30

Получить FileInfo на себя?

3 голосов
/ 30 октября 2011

Моя программа на C # представлена ​​в виде одного файла .exe. Поэтому пользователь может хранить его где угодно и называть его как угодно. Как я могу использовать класс FileInfo, чтобы получить его атрибуты, если я не знаю путь?

Ответы [ 3 ]

5 голосов
/ 30 октября 2011
System.Reflection.Assembly.GetExecutingAssembly().Location
3 голосов
/ 30 октября 2011
using System.Diagnostics;

var info = new FileInfo(Process.GetCurrentProcess().MainModule.FileName);

PS: это вернет вам путь к исполняемому файлу, даже если этот фрагмент кода был вызван в одном из проектов решения (DLL), но имейте в виду, что в случае запуска в отладчике VS он возвращает ApplicationExeName.vshost.exe так что в этом случае вы могли бы найти более полезное решение Нико Драшкович (System.Reflection.Assembly.GetExecutingAssembly().Location)

1 голос
/ 30 октября 2011

Вы можете получить рабочий каталог, используя

Environment.CurrentDirectory

Больше на MSDN

и имя файла используя

System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName

Я думаю,!

...