如何获取控制台应用程序的执行目录
我尝试使用下面的代码来获取控制台应用程序的目录,
Assembly.GetExecutingAssembly().Location
但是这个给了我集合驻留的地方。 这可能与我执行应用程序的地方不同。
我的控制台应用程序parsing不带参数的日志。 它必须到可执行文件夹内的logs/
文件夹,或者如果我给它一个logs/
pathlogs/
它parsing它。
使用Environment.CurrentDirectory
。
获取或设置当前工作目录的完全限定path。
(MSDN Environment.CurrentDirectory属性 )
string logsDirectory = Path.Combine(Environment.CurrentDirectory, "logs");
如果您的应用程序在c:\ Foo \ Bar中运行,则logsDirectory
将指向c:\ Foo \ Bar \ logs 。
用这个 :
System.Reflection.Assembly.GetExecutingAssembly().Location
把它和
System.IO.Path.GetDirectoryName if all you want is the directory.
最安全的方式:
string temp = Path.GetDirectoryName(Assembly.GetExecutingAssembly().CodeBase);