Cómo obtener la ruta al archivo ejecutable de una aplicación de consola en .NET
¡Hola a todos! Estoy escribiendo una aplicación de consola en C# (.NET 6) y necesito obtener la ruta a la carpeta donde se encuentra mi archivo .exe. Probé varios métodos, pero los resultados me confunden.
Por ejemplo, ejecuto la aplicación desde la carpeta `C:\MyApp`, pero quiero que lea el archivo `settings.json` desde el mismo directorio. Probé así:
```csharp
string path = Environment.CurrentDirectory;
Console.WriteLine(path);
```
Pero cuando ejecuto la aplicación desde la línea de comandos, estando en otra carpeta, muestra no `C:\MyApp`, sino el directorio de trabajo actual. Esto es incorrecto.
También probé:
```csharp
string path = Assembly.GetExecutingAssembly().Location;
Console.WriteLine(path);
```
Pero esto devuelve la ruta con el nombre del archivo (por ejemplo, `C:\MyApp\MyApp.exe`), y yo solo necesito la carpeta. Además, escuché que en algunos casos este método puede devolver la ruta a una carpeta temporal debido a shadow copying.
En fin, estoy completamente confundido. ¿Cómo obtener correctamente una ruta confiable a la carpeta de la aplicación en .NET, que funcione de manera consistente?
No answers yet.
Inicia sesión para dejar una respuesta
Blogs