我想创建一个转换文件的程序。我希望用户能够将可执行文件放在任何目录,当执行该程序(双击.exe),我希望程序处理当前文件夹内的所有文件,其中exe文件存在。程序如何确定当前正在执行的路径?
我尝试了System.Windows.Forms.Application.StartupPath,但这似乎是错误的方式。
什么好主意吗?
我想创建一个转换文件的程序。我希望用户能够将可执行文件放在任何目录,当执行该程序(双击.exe),我希望程序处理当前文件夹内的所有文件,其中exe文件存在。程序如何确定当前正在执行的路径?
我尝试了System.Windows.Forms.Application.StartupPath,但这似乎是错误的方式。
什么好主意吗?
当前回答
用这个,
var currentDirectory = System.IO.Directory.GetCurrentDirectory();
你也可以用这个。
var currentDirectory = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);
其他回答
1.
Directory.GetCurrentDirectory();
2.
Thread.GetDomain().BaseDirectory
3.
Environment.CurrentDirectory
System.AppDomain.CurrentDomain.BaseDirectory
这将为您提供应用程序的运行目录。这甚至适用于web应用程序。然后你就可以拿到你的文件了。
这对我来说效果最好,特别是在使用dotnet核心单文件发布时。 Path.GetDirectoryName (System.Diagnostics.Process.GetCurrentProcess () .MainModule.FileName)。
使用应用程序。StartupPath在我看来是最好的结果。
用这个,
var currentDirectory = System.IO.Directory.GetCurrentDirectory();
你也可以用这个。
var currentDirectory = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);