Web.Release.config 和 Web.Debug.config
Web.Release.config 和 Web.Debug.config
Web.Release.config 和 Web.Debug.config通过在web.release.config或web.debug.config中按指定的格式查找和替换节点内容,可以实现web.config按生成环境的不同生成不同的版本,方便调试和发布。
在开发asp.net应用程序时,往往想在debug和release环境下使用不同的配置,而web.config文件却只有一个,我们可以在Web.Debug.config中写下debug环境下的配置,然后在web.release.config中写下release环境下特有的配置。
一、Web.Release.config 和 Web.Debug.config实例
1、Web.Release.config 的配置文件
<?xml version="1.0" encoding="utf-8"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<!--
In the example below, the "SetAttributes" transform will change the value of
"connectionString" to use "ReleaseSQLServer" only when the "Match" locator
finds an attribute "name" that has a value of "MyDB".
-->
<connectionStrings>
<add name="AppConnection"
connectionString="发布环境连接字符串"
xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
</connectionStrings>
</configuration>
2、Web.Debug.config 的配置文件
<?xml version="1.0" encoding="utf-8"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<!--
In the example below, the "SetAttributes" transform will change the value of
"connectionString" to use "ReleaseSQLServer" only when the "Match" locator
finds an attribute "name" that has a value of "MyDB".
-->
<connectionStrings>
<add name="AppConnection"
connectionString="测试环境连接字符串"
xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
</connectionStrings>
</configuration>
3、Web.config 的配置文件
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<connectionStrings>
<add name="AppConnection" connectionString="默认连接字符串"/>
<add name="TestCommon" connectionString="公共使用的连接字符串"/>
</connectionStrings>
<system.web>
<compilation debug="true" targetFramework="4.5" />
<httpRuntime targetFramework="4.5" />
</system.web>
</configuration>
4、发布 后Web.config 的配置文件
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<add key="webpages:Version" value="3.0.0.0" />
<add key="webpages:Enabled" value="false" />
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
</appSettings>
<connectionStrings> <!--注意这里的字符串变了,变成了release配置文件中的字符串 -->
<add name="AppConnection" connectionString="发布环境连接字符串"/>
<add name="TestCommon" connectionString="公共使用的连接字符串"/>
</connectionStrings>
<system.web>
<compilation targetFramework="4.5" />
<httpRuntime targetFramework="4.5" />
</system.web>
</configuration>
二、配置说明
xdt:Transform="SetAttributes" xdt:Locator="Match(name)" 的意思
把Web.config中connectionStrings对应name为AppConnection的节点属性替换。
1、locator属性
1)Match
用匹配的属性名去替换Web.config中的属性值
例如:Web.config中找到匹配name为Norhwind的节点值替换为相应配置文件的值。
<connectionStrings>
<add name="Northwind" connectionString="connection string detail"
providerName="System.Data.SqlClient"
xdt:Transform="Replace"
xdt:Locator="Match(name)" />
</connectionStrings>
2)Condition
基于XPath,在Locator可以用表达式判断匹配
<connectionStrings>
<add name="Northwind"
connectionString="connection string detail"
providerName="System.Data.SqlClient"
xdt:Transform="Replace"
xdt:Locator="Condition(@name=’Northwind or @providerName=' System.Data.SqlClient')" />
</connectionStrings>
2、 Transform 属性
1)Replace 表示所有匹配的节点都是替换
2)Remove 删除第一匹配的元素。
3)RemoveAll
4)Insert 插入从父节点中插入
例如:authorization中插入<deny users="*" />
<authorization>
<deny users="*" xdt:Transform="Insert"/>
</authorization>
5)SetAttributes 设置属性值
- Visual Studio的browser link
- 创建自己的Visual Studio工程模板
- 关闭visual studio 的实时调试
- Visual Studio中使用正则表达式替换
- Visual studio中使用VSCommands插件在大括号尾部显示方法或过程名字
- visual studio怎么连接数据库(使用Visual Studio Code连接MySql数据库并进行查询)
- Visual Studio 编译中活动平台AnyCPU
- 使用Visual Studio进行单元测试
- 实用的Visual Studio插件
- Visual Studio 自动添加头部注释
- vscode react插件(基于visual studio code + react 开发环境搭建过程)
- Visual Studio 调试方法
- visual studio中快速定位打开的文件所处的树形路径
- Visual Studio中 sln 和 suo 文件
- 介绍几个Visual Studio 调试技巧
- Visual Studio使用Git进行源代码管理
- 一道高中题-求杯子的高度(一道高中题-求杯子的高度)
- 网坛停摆三巨头亏损惨重,费德勒跌幅88 纳达少赚2400万(网坛停摆三巨头亏损惨重)
- Beyond 版本《无人深空》主线任务攻略 阿特拉斯之道(版本无人深空主线任务攻略)
- 全球科技界最有钱大佬TOP 15 你知道几位(全球科技界最有钱大佬TOP)
- 2主力后腰缺阵 泰山队奇兵有望获重用,赛季0出场,迎来中超首秀(泰山队奇兵有望获重用)
- 三分71 生死战爆发 篮网旧将丁威迪今天成奇兵,助队赢球(三分71生死战爆发)
热门推荐
- vue插槽的分类(vue具名插槽的基本使用实例)
- 数据恢复操作类型包括误写入恢复(delete误删数据使用SCN号恢复推荐)
- 织梦dede后台更新文章(织梦Dedecms5.7整站调用购物车订单数量简单解决办法)
- php实现导航地图(php根据地址获取百度地图经纬度的实例方法)
- python编程中冒号的用法(浅谈python中get pass用法)
- dedecms自定义字段(详解怎么样让DEDECMS的list标签支持weight排序的方法)
- javascript如何建立一个静态变量(JavaScript中子函数访问外部变量的3种解决方法)
- nginx 配置解析(Nginx的rewrite模块详解)
- mysql数据表实例教程(mysql数据库入门第一步之创建表)
- python四舍五入怎么用(python3 小数位的四舍五入用两种方法解决round 遇5不进)