Статический метод Assembly.GetEntryAssembly()
даст вам ссылку на сборку ввода (файл с расширением .exe), а Location
свойство даст вам расположение файла:
Assembly.GetEntryAssembly().Location
Другой путь вокруг, если вы знать типа в сборке ввода, чтобы использовать Type.Assembly
, чтобы получить ссылку на сборку:
typeof(Program).Assembly.Location
Если вам нужно только путь к каталогу, используйте статический метод Path.GetDirectoryName()
.
Off Topic: вы считали configuration API встроенным в .NET? Я не говорю, что это будет лучше в вашем конкретном случае, но я думаю, это стоит рассмотреть, прежде чем переходить к вашей собственной конфигурации.