我知道我们可以在使用下面样式的web.config转换部署到不同的环境或设置时进行转换,但我的问题是是否可以使用此技术或其他方法完全替换web.config的另一部分settings.For例如我有一个<System.IdentityModel> </System.IdentityModel>
部分,我想在部署到不同的环境时完全改变。这是可能的。
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<!--
In the example below, the "SetAttributes" transform will change the value of
"connectionString" to use "ReleaseSQLServer" only when the "Match" locator
finds an attribute "name" that has a value of "MyDB".
<connectionStrings>
<add name="MyDB"
connectionString="Data Source=ReleaseSQLServer;Initial Catalog=MyReleaseDB;Integrated Security=True"
xdt:Transform="SetAttributes" xdt:Locator="Match(name)"/>
</connectionStrings>
-->
</configuration>
答案 0 :(得分:0)
我在NuGet上有一个名为ConfigZilla的项目,它可以替换配置文件中的整个部分。它的工作原理是将.template.config
处理成.config
文件,然后您可以在那里进行任何Xslt转换。这里有一个例子http://philipdaniels.com/configzilla/templates.html
与Web配置转换相比,ConfigZilla采用了略微不同的方法,我努力集中配置,以便更具可扩展性。