Impostare il percorso assoluto per il file appettings.json condiviso.
var relativePath = @"../../The/Relative/Path";
var absolutePath = System.IO.Path.GetFullPath(relativePath);
Quindi utilizzare un IFileProvider
come questo.
var fileProvider =
new Microsoft.Extensions.FileProviders.PhysicalFileProvider(absolutePath);
_configuration = new ConfigurationBuilder()
.SetBasePath(_env.ContentRootPath)
.AddJsonFile(fileProvider, $"appsettings.json", optional: true, reloadOnChange: true)
.Build();
Oppure utilizzare SetBasePath
come questo.
var relativePath = @"../../The/Relative/Path";
var absolutePath = System.IO.Path.GetFullPath(relativePath);
_configuration = new ConfigurationBuilder()
.SetBasePath(absolutePath)
.AddJsonFile($"appsettings.json", optional: true, reloadOnChange: true)
.Build();
Entrambi funzioneranno, se l'approccio provider di file consente all'applicazione di utilizzare la sua radice contenuto come il percorso di base per altri contenuti statici. Anche l'approccio di Adem è buono.
fonte
2016-10-29 01:59:54