Vejo que existem algumas maneiras de obter o caminho da pasta do aplicativo:
Application.StartupPath
System.IO.Path.GetDirectoryName( System.Reflection.Assembly.GetExecutingAssembly().Location)
AppDomain.CurrentDomain.BaseDirectory
System.IO.Directory.GetCurrentDirectory()
Environment.CurrentDirectory
System.IO.Path.GetDirectoryName( System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase)
System.IO.Path.GetDirectory(Application.ExecutablePath)
Qual é a melhor maneira, dependendo da situação?
IHostEnvironment.ContentRootPath
, acessado através de uma IHostEnvironment
dependência injetada (que contém outras coisas úteis).