红酒柜
栏目导航
  1. 扩散吸收式燃气(燃气)
  2. 美的
  3. 眼球
  4. 商标查询
  5. 工具
  6. 市场
  7. 帮助中心
  8. 格力
  9. 新闻公告
  10. 啤酒柜

红酒柜

主页 > 红酒柜 >

ASPNETCore多环境配置对比

发布日期:2022-04-26 17:24   来源:未知   阅读:

  多环境配置应该都很熟悉了,最为常见的便是 Debug 和 Release ,例如下图是新建的一个 asp.net 项目,配置文件展开共有三个文件组成

  据我所知,大多公司从来没编辑过fig 和 Web.Release.config ,一个 Web.config 文件改来改去来切换不同的配置,十分麻烦。

  发布成功后,打开发布后的fig 文件,我们发现开发环境下 Web.config 中对应的值被替换了。

  有时候Debug和Release两个环境还不能满足我们的需要,需要增加更多的环境配置。

  aspnetcore中的配置文件被 appsettings.json 所取代,Core中的配置是使用一个或多个配置提供程序执行的。配置提供程序使用各种配置源从键值对读取配置数据:

  如何修改环境变量 EnvironmentName 值是问题的关键,若能修改想要的值,然后创建对应名称的配置文件即可。

  在上文中我们学会了在本地配置多个不同环境配置进行开发,那如果需要发布的生产环境也有很多种配置,那如何让程序自动加载不同的配置文件呢,毕竟 launchSettings.json 文件只是在开发时搭配VS用的,既然 launchSettings.json 可以配置环境变量,没了它我们手动创建环境变量应该也可以。在操作系统添加环境变量如:

  但是这两种我都感觉不方便,我们希望程序根据不同的环境发布好以后,只需要直接执行就好,而不是需要进行额外的配置或传参。

  那这样设置后,岂不是发布后的 EnvironmentName 值只能是 Test ,如果要发布其他环境还要每次发布前修改这个值,那不是很麻烦吗?

  至此,完美实现根据不同环境选择不同的发布文件,进行发布项目,目标机器不需要做任何配置,直接运行就是我们想要的效果。

  总结虽然ASP.NETCore实现多环境的方式不同,但是最后发布时我们可以做到一样的效果,所有的配置都是一次性的,发布时指定对应的 PublishProfile 即可。返回搜狐,查看更多