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)" 属性指定要 debugsystem.web/compilation 已部署 的 Web.config 文件中的元素中删除该属性。 每次部署发布版本时,都会执行此操作。

Visual Studio C# 多环境配置 Web.config的更多相关文章

  1. Visual studio 通用开发环境配置:SDL,FFMPEG为例

    引言 每一个C++库的使用都是从开发环境的配置开始的,其实每个库的配置过程都是大同小异,总结下来有下面几个步骤: 下载库文件,这里假定是已经预先编译完成的. 配置库文件的包含目录(include)和库 ...

  2. OpenGL超级宝典visual studio 2013开发环境配置,GLTools

    做三维重建需要用到OpenGL,开始看<OpenGL超级宝典>,新手第一步配置环境就折腾了一天,记录下环境的配置过程. <超级宝典>中的例子使用了GLEW,freeglut以及 ...

  3. Visual Studio OpenCV 开发环境配置

    因为VS配置OpenCV好多新手都很难一次配置成功,而且OpenCV库每新建一个项目都要配置很是麻烦,所以今天就给大家介绍一个“一劳永逸”的方法. 注:理论上只要VS和OpenCV是版本兼容的,该方法 ...

  4. Visual Studio 2012 开发环境配置+控制台工具+桌面应用程序

    一.界面布局视图设置 1.窗口的布局.控制台窗口运行恢复到开发环境的设置方法 也可以保存好设好的个性化设置,导入设置: 2.视图|服务器资源管理器(sever explorer) 可以访问数据源.服务 ...

  5. Visual Studio中用于ASP.NET Web项目的Web服务器

    当您在 Visual Studio 中开发 Web 项目时,需要 Web 服务器才能测试或运行它们. 利用 Visual Studio,您可以使用不同的 Web 服务器进行测试,包括 IIS Expr ...

  6. 用于 Visual Studio 和 ASP.NET 的 Web 应用程序项目部署常见问题

    https://msdn.microsoft.com/zh-cn/library/ee942158(v=vs.110).aspx#can_i_exclude_specific_files_or_fol ...

  7. 教程:在 Visual Studio 中开始使用 Flask Web 框架

    教程:在 Visual Studio 中开始使用 Flask Web 框架 Flask 是一种轻量级 Web 应用程序 Python 框架,为 URL 路由和页面呈现提供基础知识. Flask 被称为 ...

  8. 打造TypeScript的Visual Studio Code开发环境

    打造TypeScript的Visual Studio Code开发环境 本文转自:https://zhuanlan.zhihu.com/p/21611724 作者: 2gua TypeScript是由 ...

  9. Visual Studio 2017开发环境的安装

    Visual Studio 2017是微软为了配合.NET战略推出的IDE开发环境,同时也是目前开发C#程序最新的工具,本节以Visual Studio 2017社区版的安装为例讲解具体的安装步骤. ...

  10. asp.net配置web.config支持jQuery.Uploadify插件上传大文件

    配置web.config有两处地方需要配置,分别是集成模式和经典模式. 集成模式: <!--文件上传大小设置--> <httpRuntime requestValidationMod ...

随机推荐

  1. Mysql简明语法

    show databases ; use mybatis; show tables ; select * from user; select * from user where id=1; updat ...

  2. 从ajax到跨域引发的相关面试题总结

    转载请注明出处: 1.ajax异步和同步的区别 Ajax是一种基于JavaScript语言和XMLHttpRequest对象的异步数据传输技术,通过它可以使不用刷新整个页面的情况下,对页面进行部分更新 ...

  3. 计算机基础和linux安装及帮助

    一.按系列罗列linux的发行版,并描述不同发行版之间的联系与区别 Linux可以分为两种版本: 1.商业版:最常见的如Redhat和centos,是属于商业公司维护的发行版本,其中很多软件都是需要收 ...

  4. 特性介绍 | MySQL 测试框架 MTR 系列教程(一):入门篇

    作者:卢文双 资深数据库内核研发 去年年底通过微信公众号[数据库内核]设定了一个目标--2023 年要写一系列 特性介绍+内核解析 的文章(现阶段还是以 MySQL 为主). 虽然关注者很少,但本着& ...

  5. Kubernetes入门实践(ConfigMap/Secret)

    Kubernetes中用于管理配置信息的两种对象: ConfigMap和Secret,可使用它们来灵活地配置和定制应用.应用程序有很多类别的配置信息,从数据安全的角度看可分为明文配置和机密配置,明文配 ...

  6. MySQL-带你上官网看索引

    在我之前的一篇文章中,有引用一个讨论用Hash还是Tree的问题,DB中关于查找类数据结构,除了树,还有Hash(HashMap,HashSet). 存储数据结构之争 B+树主要是照顾磁盘IO这种特殊 ...

  7. 前端 引用svg图片,支持动态切换颜色

    当我们添加一张svg图片显示时,react提示找不到文件. 我们可以在全局文件global.d.ts内,添加图片类型的声明: 详见<TypeScript 引用资源文件后提示找不到的错误处理方案& ...

  8. Python_16 配置文件与封装

    一.查缺补漏 1. ctrl + alt +L 规范格式 2. Python 使用 ini&yaml 配置文件 http://testingpai.com/article/1621245437 ...

  9. springcloud~Sentinel

    介绍 随着微服务的流行,服务和服务之间的稳定性变得越来越重要.Sentinel 是面向分布式.多语言异构化服务架构的流量治理组件,主要以流量为切入点,从流量路由.流量控制.流量整形.熔断降级.系统自适 ...

  10. Pwn系列之Protostar靶场 Stack2题解

    (gdb) disass main Dump of assembler code for function main: 0x08048494 <main+0>: push ebp 0x08 ...