Visual Studio C# 多环境配置 Web.config
Visual Studio 为多环境配置 Web.config
不同的环境,存在不同的配置,如:数据库连接字符串,通过多配置,方便做环境切换,配置的修改
<!--最简单,最麻烦的做法-->
<configuration>
<appSettings>
<!--正式-->
<!--<add key="DbConnection" value="Data Source=10.176.1.2;Initial Catalog=vipsoft;User ID=sa;Password=....;" />-->
<!--测试-->
<!--<add key="DbConnection" value="Data Source=172.16.0.1;Initial Catalog=vipsoft;User ID=sa;Password=123456;" />-->
<!--开发-->
<add key="DbConnection" value="Data Source=172.16.0.2;Initial Catalog=vipsoft;User ID=sa;Password=666666;" />
</appSettings>
</configuration>
好的做法。
添加解决方案配置
生成 -> 配置管理器




添加配置转换
右击 Web.config -> 添加配置转换


添加应对的配置
将不同环境的配置项,添加至对应的配置文件中
Web.config
<appSettings>
<add key="Environment" value="Dev" />
</appSettings>
Web.Test.config
<appSettings>
<add key="Environment" value="Test" xdt:Transform="SetAttributes" xdt:Locator="Match(key)"/>
</appSettings>
属性值 xdt:Transform “SetAttributes” 指示此转换的目的是更改 Web.config 文件中现有元素的属性值。 xdt:Locator属性值“Match (键) ”指示要修改的元素是其key属性与此处指定的属性匹配的key元素。 元素的唯一其他属性 add 是 value,这就是部署 的Web.config 文件中将发生更改的内容。 此处显示的代码会导致 value 元素的属性 EnvironmentappSettings 在部署的 Web.config 文件中设置为“Test”。
<system.web>
<compilation xdt:Transform="RemoveAttributes(debug)" />
<!--
在下例中,“Replace”转换将替换
web.config 文件的整个 <customErrors> 节。
请注意,由于
在 <system.web> 节点下仅有一个 customErrors 节,因此不需要使用“xdt:Locator”特性。
<customErrors defaultRedirect="GenericError.htm"
mode="RemoteOnly" xdt:Transform="Replace">
<error statusCode="500" redirect="InternalError.htm"/>
</customErrors>
-->
</system.web>
该 xdt:Transform="RemoveAttributes(debug)" 属性指定要 debug 从 system.web/compilation 已部署 的 Web.config 文件中的元素中删除该属性。 每次部署发布版本时,都会执行此操作。

Visual Studio C# 多环境配置 Web.config的更多相关文章
- Visual studio 通用开发环境配置:SDL,FFMPEG为例
引言 每一个C++库的使用都是从开发环境的配置开始的,其实每个库的配置过程都是大同小异,总结下来有下面几个步骤: 下载库文件,这里假定是已经预先编译完成的. 配置库文件的包含目录(include)和库 ...
- OpenGL超级宝典visual studio 2013开发环境配置,GLTools
做三维重建需要用到OpenGL,开始看<OpenGL超级宝典>,新手第一步配置环境就折腾了一天,记录下环境的配置过程. <超级宝典>中的例子使用了GLEW,freeglut以及 ...
- Visual Studio OpenCV 开发环境配置
因为VS配置OpenCV好多新手都很难一次配置成功,而且OpenCV库每新建一个项目都要配置很是麻烦,所以今天就给大家介绍一个“一劳永逸”的方法. 注:理论上只要VS和OpenCV是版本兼容的,该方法 ...
- Visual Studio 2012 开发环境配置+控制台工具+桌面应用程序
一.界面布局视图设置 1.窗口的布局.控制台窗口运行恢复到开发环境的设置方法 也可以保存好设好的个性化设置,导入设置: 2.视图|服务器资源管理器(sever explorer) 可以访问数据源.服务 ...
- Visual Studio中用于ASP.NET Web项目的Web服务器
当您在 Visual Studio 中开发 Web 项目时,需要 Web 服务器才能测试或运行它们. 利用 Visual Studio,您可以使用不同的 Web 服务器进行测试,包括 IIS Expr ...
- 用于 Visual Studio 和 ASP.NET 的 Web 应用程序项目部署常见问题
https://msdn.microsoft.com/zh-cn/library/ee942158(v=vs.110).aspx#can_i_exclude_specific_files_or_fol ...
- 教程:在 Visual Studio 中开始使用 Flask Web 框架
教程:在 Visual Studio 中开始使用 Flask Web 框架 Flask 是一种轻量级 Web 应用程序 Python 框架,为 URL 路由和页面呈现提供基础知识. Flask 被称为 ...
- 打造TypeScript的Visual Studio Code开发环境
打造TypeScript的Visual Studio Code开发环境 本文转自:https://zhuanlan.zhihu.com/p/21611724 作者: 2gua TypeScript是由 ...
- Visual Studio 2017开发环境的安装
Visual Studio 2017是微软为了配合.NET战略推出的IDE开发环境,同时也是目前开发C#程序最新的工具,本节以Visual Studio 2017社区版的安装为例讲解具体的安装步骤. ...
- asp.net配置web.config支持jQuery.Uploadify插件上传大文件
配置web.config有两处地方需要配置,分别是集成模式和经典模式. 集成模式: <!--文件上传大小设置--> <httpRuntime requestValidationMod ...
随机推荐
- 关于Java中泛型的上界和下界理解
既然聊到了泛型的上下界问题,就先给出几个类的继承关系吧 class Fruit{}class Apple extends Fruit{}class Orange extends Fruit{}clas ...
- ROS用hector创建地图
ROS用hector创建地图 连接小车 ssh clbrobot@clbrobot 激活树莓派 roslaunch clbrobot bringup.launch 打开hector_slam 重新开终 ...
- 数据结构(DataStructure)-02
数据结构-02 **数据结构-01回顾** **数据结构-02笔记** **作业讲解** **链表作业题一** **链表作业题二** **链表作业题三** **线性表 - 栈(LIFO)** **线性 ...
- springboot升级过程中踩坑定位分析记录 | 京东云技术团队
作者:京东零售 李文龙 1.背景 " 俗话说:为了修复一个小bug而引入了一个更大bug " 因所负责的系统使用的spring框架版本5.1.5.RELEASE在线上出过一个偶发的 ...
- Centos7.x 安装Chrome + Chrome driver
一.安装Chrome 1.执行下面命令进行安装操作 yum install https://dl.google.com/linux/direct/google-chrome-stable_curren ...
- Solon 框架,单月下载量超100万了!!!
Solon 框架,于2023年的四月份突冲100万下载量了.感谢开源的力量,我们同喜同荣!!!Solon 目前,是"可信开源共同体"的新成员,积极参与中科院的"开源之夏& ...
- Layui+dtree实现左边分类列表,右边数据列表
效果如下 代码实现 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> < ...
- Vue中使用原生js实现轮播图滑动效果
1.在视图层模板里面绑定touchstart和touchend事件 <div class="tuWap" @touchstart="touchStart" ...
- 2021-11-08:扁平化嵌套列表迭代器。给你一个嵌套的整数列表 nestedList 。每个元素要么是一个整数,要么是一个列表;该列表的元素也可能是整数或者是其他列表。请你实现一个迭代器将其扁平化
2021-11-08:扁平化嵌套列表迭代器.给你一个嵌套的整数列表 nestedList .每个元素要么是一个整数,要么是一个列表:该列表的元素也可能是整数或者是其他列表.请你实现一个迭代器将其扁平化 ...
- CogSci 2017-Learning to reinforcement learn
Key 元学习系统(监督+从属)扩展于RL设置 LSTM用强化学习算法进行训练,可以使agent获得一定的学习适应能力 解决的主要问题 DRL受限于特定的领域 DRL训练需要大量的数据 作者参考了Ho ...