.net 多项目环境搭建

在实际的日常开发环境中,我们会有不同的开发环境,如:测试环境、开发环境、部署环境等,在不同的环境中,系统的某些设置也不一定,如数据库链接选项,通常在开发环境中,我们连接的数据库是测试数据库,而在部署环境中,我们链接的便是客户的生产环境,在java环境中,我们会根据自己的实际情况,我们配置不同的环境,application.yml,application-dev.yml,application-prod.yml,而在.net 开发中,经常看到的做法便是,在项目创建伊始,vs 会自动生成项目配置文件web.config,在web.config 中,软件开发过程中,使用开发环境相应配置,部署时,在使用部署环境相应配置,显而易见,这种做法太粗糙简陋,在每次部署时,要排除更新web.config,在修改web.config 之后,又要手动替换wen.config ,.net 中难道就不可以使用多环境配置吗,当然可以!

1、首先,新建一个环境配置

在配置管理器中新建一个配置dev ,然后web.config -> 右键->添加配置转换,再看,会发现web.config 下增加了文件web.dev.config
.net 多项目环境搭建
新文件中已经提示如何操作 .net 多项目环境搭建
xdt:Transform 规定了如何对web.config 文件中

  • SetAttributes :直接设置Attributes
  • Replace:表示所有匹配的节点都是替换
  • Remove:删除第一匹配的元素
  • RemoveAll:删除所有匹配的元素
  • Insert:从父节点中插入
  • RemoveAttributes:删除出Attributes
  • InsertAfter :通过匹配 XPath的表达式的,找到节点,并子节点前面插入 XML
  • XSLT (filePath):可以在外部定义 XSLT文件,来替换Web.cofig文件。
    Match 指的是匹配规则,这里匹配的name

在项目中实验,使用dev配置发布文件,查看web.config 中的节点是否被替换,这仅仅只是发布时候的多环境,而调试的时候,依然未变,

2、增补调试模式下多环境

在项目的csproj文件中,增加target 配置(拉倒最后)
.net 多项目环境搭建
Name=“BeforeBuild” 没什么好解释的,字面意思,TransformXml 节点指的是,从源文件,根据所选配置,生成目标配置文件,如此完成.net 的多环境配置