С .NET Core или ASP.NET Core мы больше не используем для этой цели web.configs или app.configs. Существует новая система конфигурации , созданная Microsoft. По умолчанию веб-хост создает конфигурацию, которая включает их в указанном порядке
- appsettings.json, необязательно
- appsettings. {Environment} .json, необязательно
- переменные окружения
В вашем случае вы захотите создать его вручную.
Для этого вам нужно иметь ссылку на (включено по умолчанию для шаблонов Visual Studio через метапакет)
- Microsoft.Extensions.Configuration
- Microsoft.Extensions.Configuration.Json
- Microsoft.Extensions.Configuration.EnvironmentVariables
Теперь вместо использования конфигурации по умолчанию создайте свою собственную в своем классе запуска.
public class Startup
{
// environment is being injected by the webhost
public Startup(IHostingEnvironment environment)
{
var configuration = new ConfigurationBuilder()
.AddJsonFile(Path.Combine(AppContext.BaseDirectory, "appsettings.json"), optional: false) // u can change that if you want to be optional
.AddJsonFile(Path.Combine(AppContext.BaseDirectory, $"appsettings.{environment.environmentName}.json), optional: false)"
.AddJsonFile(Path.Combine(AppContext.BaseDirectory, "connectionsettings.json"), optional: false)
.Build();
}
}
Тогда вы можете пойти дальше и получить к ним доступ, как раньше
configuration.GetConnectionString("MyConnectionString");
и ваш файл json должен выглядеть так
"ConnectionStrings": {
"MyConnectionString": "some-connectionstring-value"
}