Avatar ·

Como obter o caminho para o arquivo executável de um aplicativo console no .NET?

Olá a todos! Estou escrevendo um aplicativo console em C# (.NET 6) e preciso obter o caminho para a pasta onde meu arquivo .exe está localizado. Tentei várias maneiras, mas os resultados são confusos. Por exemplo, executo o aplicativo a partir da pasta `C:\MyApp`, mas quero que ele leia o arquivo `settings.json` do mesmo diretório. Tentei assim: ```csharp string path = Environment.CurrentDirectory; Console.WriteLine(path); ``` Mas quando executo o aplicativo a partir da linha de comando, estando em outra pasta, ele exibe não `C:\MyApp`, mas o diretório de trabalho atual. Isso está errado. Também tentei: ```csharp string path = Assembly.GetExecutingAssembly().Location; Console.WriteLine(path); ``` Mas isso retorna o caminho com o nome do arquivo (por exemplo, `C:\MyApp\MyApp.exe`), e eu preciso apenas da pasta. E também ouvi dizer que em alguns casos esse método pode retornar o caminho para uma pasta temporária devido ao shadow copying. Resumindo, estou completamente confuso. Como obter corretamente um caminho confiável para a pasta do aplicativo no .NET, que funcione de forma consistente?