在IIS中,使用MSDeploy时,应如何保留特定于环境/站点的WEB.CONFIG设置? 背景

在IIS中,使用MSDeploy时,应如何保留特定于环境/站点的WEB.CONFIG设置? 背景,iis,iis-7.5,web-config,msdeploy,Iis,Iis 7.5,Web Config,Msdeploy,我在一家软件公司的QA部门工作 我们有大约六个不同的web应用程序,在任何给定的站点上,每个应用程序都可能需要在其web.config文件中添加一些自定义设置 从应用程序连接到哪个Oracle数据库/模式,到要缓存多少搜索结果,再到在网页上对项目进行排序时要使用的层次结构,这些都可以 我们利用Microsoft的部署包,在客户端站点上安装/更新新版本 当我们发布一个新版本时,这些定制设置中的一些可能已经添加到给定web应用的web.config文件中或从中删除,但是使用Deploy在旧版本的基础

我在一家软件公司的QA部门工作

我们有大约六个不同的web应用程序,在任何给定的站点上,每个应用程序都可能需要在其web.config文件中添加一些自定义设置

从应用程序连接到哪个Oracle数据库/模式,到要缓存多少搜索结果,再到在网页上对项目进行排序时要使用的层次结构,这些都可以

我们利用Microsoft的部署包,在客户端站点上安装/更新新版本

当我们发布一个新版本时,这些定制设置中的一些可能已经添加到给定web应用的web.config文件中或从中删除,但是使用Deploy在旧版本的基础上导入新版本会破坏任何可能已经进行的定制

选择 有一些手动处理的方法,例如通过对新旧web.config文件进行纯文本比较来合并,但是这些方法很麻烦,而且容易出现人为错误

我在读有关的书,认为它们可能有一些用处

还有一种能力似乎是一种很好的方式

改善? 我们的程序员是否应该为这个web.config文件提供某种半自动合并工具?部署包是否以某种方式提供了这一点

作为最佳实践,我们应该使用外部配置文件吗


在每个站点上自定义此web.config文件的概念是否存在根本性缺陷,需要重新考虑整个问题?

Microsoft提供web.config转换作为实现此目的的实际方法。您可以在VisualStudio和web项目中创建不同的部署配置。然后,当您使用该特定配置构建或构建服务器构建时,web.config将被转换为包含您想要查看的设置


.

@BrentPabst感谢您提供有关转换的信息!我不确定是在这里发布还是在堆栈溢出上发布,也不想马上翻倍。为了补充这一点,我们现在支持特定于配置文件的转换(而不仅仅是构建配置转换)。看见