У меня есть appsettings.json (и appsettings.development.json позади) в проекте ASP.NET Core. Я хочу внедрить файл конфигурации в зависимости от режима выполнения (производство, разработка ...), как это делает Core, но я хочу получить доступ к JSON через различных проектов , используя IoC .
Используя DI ядра, я имею:
config.AddJsonFile($"appsettings.json", optional: true, reloadOnChange: false)
.AddJsonFile($"appsettings.{environmentName}.json", true, true)
.AddEnvironmentVariables();
И я добавляю IConfiguration в каждый контроллер.
Хорошо, используя Autofac, я попытался добавить ссылку на файл в JSON в другом проекте (где находится контейнер IoC) и протестировать следующий код:
configurationBuilder.AddJsonFile("appsettings.json");
//configurationBuilder.AddJsonFile($"appsettings.json", optional: true, reloadOnChange: false)
//.AddJsonFile($"appsettings.{environmentName}.json", true, true)
//.AddEnvironmentVariables();
var module = new ConfigurationModule(configurationBuilder.Build());
builder.RegisterModule(module);
И
this.container.Resolve<IConfiguration>();
Но я получаю следующую ошибку:
Файл конфигурации 'appsettings.json' не найден и не является обязательным. Физический путь: C: \ Jhon \ source \ Workspaces \ Project \ Development \ Application \ Api \ Api \ bin \ Debug \ netcoreapp2.0 \ appsettings.json '.