asp.net-core - 如何使用发布配置文件更改值是 appsettings.json
问题描述
我正在使用 .NET Core 3.0 ASP.net,我的 appsettings.json 看起来像这样
{
"Logging": {
"LogLevel": {
"Default": "Warning"
}
},
"AllowedHosts": "*",
"Test":false
}
有什么方法可以配置某个发布配置文件(pubxml)以将 Test 的值更改为 true 或 false ?
解决方案
是的,这很容易。目前,您很可能将Debug
解决方案配置用于本地开发。假设您还具有Release
解决方案配置,并希望在发布到 Azure / 时使用您的发布配置文件更改某些设置。
假设您使用的是 .NET Core 3.1(也适用于 2.x,但语法不同),您可以使用以下代码:
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
webBuilder.UseEnvironment(Environment);
});
public static string Environment
{
get
{
string environmentName;
#if DEBUG
environmentName = "development";
#elif RELEASE
environmentName = "production";
#endif
return environmentName;
}
}
还要创建一个appsettings.product.json
覆盖特定值的位置。
当您使用发布配置文件时,只需Release
在发布对话框中选择作为解决方案配置。这样,您的应用程序将加载appsettings.json
默认值,这些默认值将被appsettings.production.json
.
您可以在文档中阅读更多详细信息。
推荐阅读
- javascript - 如果表是使用 Thymeleaf 制作的,如何使用 jquery 获取表的第一个单元格的内容
- javascript - 求模函数的周期性
- sql - Oracle 查询超时
- laravel-5 - Laravel 5:使用会话测试返回重定向
- go - Why is `math.Sin` disallowed in a Go constant?
- html - 使用背景图像时如何链接一些东西:url
- javascript - 容器、行、列 - 在 React-Bootstrap 中不起作用
- java - 短期项目:电子产品库存
- python - 用不同的单词替换文本文件中的单词(python)
- c# - 下一帧运行函数(不在 update() 中) Unity