· Andrés Ledo · NET · Lectura en 1 min
C#: Obtener directorio de ejecución
Generar una serie Fibonacci con C# es un ejercicio habitual en las escuelas o en pruebas de acceso a un trabajo. Así que vamos a resolver este ejercicio.
A veces cuando programamos en C# necesitamos saber desde qué directorio se está ejecutando nuestra aplicación.
Por ejemplo, el caso de que queremos ejecutar algún archivo que se encuentre en el mismo directorio que nuestra aplicación.
Para estos ejemplos nos basamos en una solución llamada “Startup Path” que se ejecutara “E:\Ejemplos\Startup Path\Startup Path\bin\Debug\net6.0”.
AppDomain.CurrentDomain.BaseDirectory
La mejor opción, ya que nos devuelve directamente el directorio desde donde se está ejecutando la aplicación.
La salida en mi caso seria: E:\Ejemplos\Startup Path\Startup Path\bin\Debug\net6.0\
A continuación comentaré otras formas de saber el directorio de la aplicación, sin embargo, solo las usaría en caso de que me fallase esta opción por algún motivo.
System.Reflection.Assembly.GetExecutingAssembly().Location
Nos devuelve el directorio de la DLL que ejecuta la aplicación.
En mi caso, la salida sería: E:\Ejemplos\Startup Path\Startup Path\bin\Debug\net6.0\Startup Path.dll.
Si combinamos esta opción con el System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location) nos daría exactamente el mismo resultado que el anterior.
System.Reflection.Assembly.GetExecutingAssembly().CodeBase
SImilar a la anterior pero en este caso nos incluye file:/// al principio.
La salida sería la siguiente: file:///E:/Ejemplos/Startup Path/Startup Path/bin/Debug/net6.0/Startup Path.dll