Расположение для хранения временных файлов, созданных приложением WinForms - PullRequest
2 голосов
/ 25 марта 2012

Как я могу получить папку, в которой находится исполняемый файл C # WinForms?

Моя программа генерирует некоторые временные файлы, и мне интересно, является ли местоположение исполняемого файла безопасным местом для их размещения.

Ответы [ 3 ]

9 голосов
/ 25 марта 2012

Если файлы являются просто временными файлами, вам, вероятно, следует использовать следующее:

string tempPath = System.IO.Path.GetTempPath();

Это даст вам временную папку текущего пользователя.Возможно, это более безопасная ставка, чем пытаться записать их в текущую папку exe.

Подробнее: http://msdn.microsoft.com/en-us/library/system.io.path.gettemppath.aspx

8 голосов
/ 25 марта 2012

Вы можете использовать каталог, полученный из Assembly.GetExecutingAssembly().Location:

string directory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);

Если вы просто хотите создать временные файлы, вы также можете использовать Path.GetTempFileName() для получения имен файлов.

1 голос
/ 26 марта 2012

Предпочтительно хранить временные файлы во временных каталогах (как сказал Дэн Ригби )

string directory = System.IO.Path.GetTempPath();

Но если вы все же хотите сохранить временные файлы в каталоге, из которого запущено приложениетогда вы можете просто использовать Application.StartupPath для приложений WinForms,

string directory = System.Windows.Forms.Application.StartupPath;
...