如何获取C#WinForms可执行文件所在的文件夹?
我的程序生成了一些临时文件,我想知道可执行文件的位置是否是放置它们的安全位置。
如果文件只是临时文件,您可能应该使用以下文件:
string tempPath = System.IO.Path.GetTempPath();
这将为您提供当前用户的临时文件夹。这可能比尝试将它们写入exe的当前文件夹更安全。
更多信息:http://msdn.microsoft.com/en-us/library/system.io.path.gettemppath.aspx
您可以使用从Assembly.GetExecutingAssembly().Location
:派生的目录
string directory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
如果您只想生成临时文件,也可以使用Path.GetTempFileName()
来获取文件名。
最好将临时文件存储在临时目录中(正如Dan Rigby所说)
string directory = System.IO.Path.GetTempPath();
但若您仍然想将临时文件保存在应用程序运行的目录中,那个么您可以简单地将Application.StartupPath
用于WinForms应用程序,
string directory = System.Windows.Forms.Application.StartupPath;