Cómo obtener el directorio de ejecución de la aplicación de consola.

Intenté obtener el directorio de la aplicación de la consola utilizando el siguiente código,

Assembly.GetExecutingAssembly().Location 

pero éste me da donde reside el assembly. Esto puede ser diferente de donde ejecuté la aplicación.

Mi aplicación de consola analiza los registros sin parámetros. Debe ir a la carpeta logs/ dentro de la carpeta del ejecutable o si le doy una ruta a logs/ lo analiza.

Utilice Environment.CurrentDirectory .

Obtiene o establece la ruta completa del directorio de trabajo actual.
( Propiedad de MSDN Environment.CurrentDirectory )

 string logsDirectory = Path.Combine(Environment.CurrentDirectory, "logs"); 

Si su aplicación se ejecuta en c: \ Foo \ Bar logsDirectory apuntará a c: \ Foo \ Bar \ logs .

Utilizar esta :

 System.Reflection.Assembly.GetExecutingAssembly().Location 

Combina eso con

 System.IO.Path.GetDirectoryName if all you want is the directory. 

Manera más segura:

 string temp = Path.GetDirectoryName(Assembly.GetExecutingAssembly().CodeBase);