XML文件替换程序? (web.config / WDP相关)

我在VS 2008的Web部署项目中使用web.config替换代码时遇到了很多限制。 其中一些似乎是:

  • Sectionsgroups不能被替换,只有部分。 现在,如果我只知道哪些部分是。
  • 替代品似乎有一些要求。 这不仅仅是一个“愚蠢”的文本替代。 这使得替换自定义添加到web.config很困难(似乎支持部分的文件需要在GAC或其他类似的文件中)。
  • 因此,思考一下,简单地写下我自己的替代方案会更容易,这个方案是“笨蛋”,但没有这些限制。 所以在出发之前,我想知道是否还有其他的东西:

  • 适用于XML文件
  • 给定一个INI文件,如键/值列表
  • 可以替换原始XML文件中的元素,并使用由INI文件中的值指示的文本文件加载文本内容。
  • 或者我在这里做了完全错误的事情? WDP的配置替换代码看起来相当没用(很难找到相关文档)。


    根据我的经验,在我的项目中有三个文件比较容易,比如Web-Release.configWeb-Debug.configWeb.config ,然后修改项目文件(这只是一个MSBuild脚本)在构建过程中通过Web.config复制-Debug-Release文件的内容。 令人高兴的是,这种类型的行为显然是内置于Visual Studio 2010中的,但现在通过右键单击项目文件,卸载它,然后编辑该文件来执行switcheroo,非常容易添加:

    <Target Name="AfterBuild">
        <Copy SourceFiles="Web-Debug.config" DestinationFiles="Web.config" ContinueOnError="false" Condition="'$(Configuration)' == 'Debug'" />
        <Copy SourceFiles="Web-Release.config" DestinationFiles="Web.config" ContinueOnError="false" Condition="'$(Configuration)' == 'Release'" />
    </Target>
    

    我过去使用的另一个选项是为这个XML文件合并构建一个MSBuild任务。 它对生成为具有Windows控制台应用程序主机(用于调试)和Windows服务主机(用于生产)的服务器共享的App.config文件非常有用:大多数常用设置都App.config在共享的App.config中项目,每个主机项目都有一个定义附加设置的App.config ,然后编辑每个主机项目的MSBuild项目以运行我的定制任务,将两个App.config合并到一个大的App.config 。 但这可能是过度的。

    我认为如上所述为每个部署方案创建一个.config文件会更容易。 如果有很多共同点,使用元素上的configSource属性可以减少重复。

    希望这有助于解决问题的本质,尽管它可能不是您正在寻找的内容。


    免责声明:我会通过谈论我编写的用于执行此操作的程序来发送垃圾邮件

    我写了一些东西来做到这一点:Dashy。 它的设置(可能取决于您的环境)略有涉及,但它旨在准确解决您遇到的问题 - 管理针对不同环境的配置(以及此外的部署)。

    或者,在开始前,我只是针对每个环境使用具有特定.properties的nant任务,并执行相关的任务,即构建。

    链接地址: http://www.djcxy.com/p/42583.html

    上一篇: XML file replacement program? (web.config/WDP related)

    下一篇: Google Maps API v2