XML文件替换程序? (web.config / WDP相关)
我在VS 2008的Web部署项目中使用web.config替换代码时遇到了很多限制。 其中一些似乎是:
因此,思考一下,简单地写下我自己的替代方案会更容易,这个方案是“笨蛋”,但没有这些限制。 所以在出发之前,我想知道是否还有其他的东西:
或者我在这里做了完全错误的事情? WDP的配置替换代码看起来相当没用(很难找到相关文档)。
根据我的经验,在我的项目中有三个文件比较容易,比如Web-Release.config
, Web-Debug.config
和Web.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