Avatar ·

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?