¿Cómo puedo obtener la ruta de la aplicación en una aplicación de consola .NET?

¿Cómo puedo encontrar la ruta de la aplicación en una aplicación de consola?

En Windows Forms, puedo usar Application.StartupPath para encontrar la ruta actual, pero esto no parece estar disponible en una aplicación de consola.

Solución

System.Reflection.Assembly.GetExecutingAssembly().Location1

Combina eso con System.IO.Path.GetDirectoryName si todo lo que quieres es el directorio.

1Según el comentario de Mr.Mindor: System.Reflection.Assembly.GetExecutingAssembly().Locationdevuelve la ubicación del ensamblaje en ejecución, que puede ser o no la ubicación del ensamblaje cuando no se está ejecutando. En el caso de los ensamblados de copia en la sombra, obtendrá una ruta en un directorio temporal. [System.Reflection.Assembly.GetExecutingAssembly().CodeBase`]4 devolverá la ruta 'permanente' del ensamblaje.

Comentarios (18)

Puede utilizar el siguiente código para obtener el directorio actual de la aplicación.

AppDomain.CurrentDomain.BaseDirectory
Comentarios (6)

Es posible que quieras hacer esto:

System.IO.Path.GetDirectoryName(
    System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase)
Comentarios (0)