![]() |
1
20
我们将所有特定于区域的设置拆分为自己的配置文件。在Web应用程序的根目录下,我们创建一个配置文件夹,并将特定于区域的设置放在那里。因此,在config根目录下的任何文件都将被获取。 我们的web.config看起来像:
因此,如果我们部署到发布区域,那么构建工具将只需要执行一个操作,用相应区域文件夹中的文件替换config根目录中的文件。文件结构如下: 添加:这是源代码管理结构的外观,部署的应用程序只具有config dir,没有子文件夹或课程。
它非常干净,并由任何自动构建工具(复制/替换文件)支持。好的副作用是开发人员可以创建不同的风格,并将它们保持在源代码控制之下,而不会影响“真实”的配置。 |
![]() |
2
7
您希望在msbuildCommunityTasks中执行xmlMassUpdate任务(执行您试图对XML控制台应用程序执行的操作) http://msbuildtasks.tigris.org/ 像这样用
|
![]() |
3
7
可以使用生成事件来管理Web配置。 Hanselman 有一篇关于它的好文章。 基本上,您在解决方案中拥有所有不同的web.config,然后创建(一些)新的构建类型。根据运行的生成类型,将在引用的生成类型上复制web.config! |
![]() |
4
4
我用 method explained by Scott Hanselman (他解释得比我能复制的好得多,所以请遵循链接:) 它对我来说很管用… |
![]() |
5
4
我使用这个工具: xmlpreprocess 我们为部署脚本合并的每个环境维护单独的“属性”文件。 |
![]() |
7
2
|
![]() |
8
2
以前的问题,但由于它在谷歌搜索中的排名很高,我认为添加 web.config transformation syntax ,那 has been available since VS2010 . 使用此工具,您可以为不同的版本(调试/发布)使用不同的web.config文件。 以下是关于如何具有两个连接字符串的简短摘要-一个用于开发(调试模式),一个用于生产(发布模式): 1-在web.config文件中设置开发连接字符串。应该看起来像这样:
2-展开web.config文件并打开web.release.config
3 -使用
4-通过右键单击web.release.config文件并选择,预览将在版本生成期间使用的web.config文件的转换。 预览转换 .
|
![]() |
9
1
如您所提到的,我通常使用多个web.config。这可能是一个痛苦,但它是减轻文件比较工具,如beyonecomapare2或kdiff… |
![]() |
10
0
烦恼: 我在第一次更新中提到了我的小命令行应用程序来合并XML文档…为了做到这一点,我只使用了xmldocument,最后只使用了.save()将其保存到一个文件流中。 不幸的是,这些节点实际上并不是按任何特定的顺序排列的,而且很明显,.net 要求 <configSections>元素是文档的第一个子元素。 我以为所有这些花哨的工具都能使程序设计变得生动 更容易的 ? |
![]() |
11
0
我最喜欢的两种方法是: a.保留目标计算机上的设置*—例如,在Azure中,您可以设置应用程序设置和连接字符串,这些设置和连接字符串将覆盖web.config中的值。(*或目标机器定义,如果基础结构配置是动态的)。 b.使构建/部署工具(TeamCity、Octopus Deploy等,vs Team Services)作为构建和/或部署的一部分注入特定于环境的值。现代工具支持加密敏感设置。 |