如何获取控制台应用程序的执行目录

我尝试使用下面的代码来获取控制台应用程序的目录,

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);