.Net Core 多环境的配置、调试和部署

农民  金牌会员 | 2022-8-29 06:10:52 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 885|帖子 885|积分 2655

背景

工作需要配置多个环境,用于 开发Development、预览Staging、生产Production。
参考文献:
微软官方文档-配置
开始

.NetCore对多环境有很好的支持,默认会读取appsettings.{Environment}.json。 例如,appsettings.Production.json 和 appsettings.Development.json。
其中的Environment就是环境名称

配置

创建环境


项目中已经存在两个配置文件,它们对应的环境都是Development,也就是对应会读取appsettings.Development.json中的配置


创建配置文件,选择【项目】

修改【环境变量】、【应用URL】
ASPNETCORE_ENVIRONMENT=Staging
ASPNETCORE_ENVIRONMENT=Production

继续炮制一个Production

创建环境配置文件

接着创建环境对应的配置文件,直接复制两个appsettings.Development.json,并重命名为
appsettings.Staging.json
appsettings.Production.json

在配置文件中写入配置用以测试["CustomConfig": "这里是Development环境的配置"]

调试

这时已经可以在启动项目时选择不同的环境配置了,若选择Staging,就会读取appsettings.Staging.json

修改控制器代码,尝试读取配置
点击查看代码
  1. [ApiController]
  2. [Route("[controller]")]
  3. public class WeatherForecastController : ControllerBase
  4. {
  5.     private readonly IConfiguration Configuration;
  6.     public WeatherForecastController(IConfiguration configuration)
  7.     {
  8.         Configuration = configuration;
  9.     }
  10.     [HttpGet]
  11.     public ActionResult GetCustomConfig()
  12.     {
  13.         return Content($@"读取CustomConfig配置为:{Configuration["CustomConfig"]}");
  14.     }
  15. }
复制代码
![image](https://img2022.cnblogs.com/blog/1307956/202207/1307956-20220719112233207-738534554.png)

部署

环境配置已经配好了,接下来我希望将文件发布到不同环境,能自动读取对应配置文件。
右键网站->发布,创建发布配置

创建配置后会生成PublishProfiles文件夹

在{Environment}.pubxml文件中添加环境参数:Staging

在站点点击发布,到发布位置打开web.config,可以看到多了环境变量参数。


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

农民

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表