我试图使用parameters.xml进行c#web项目的Web部署。如果所有参数都是预定义的,它可以正常工作。但是,在我的情况下,需要配置一组相同类型的项目,并且组中的项目数量因不同的站点而异。
e.g。我在 web.config 中有一组项目,如下所示:
<ItemConfiguration>
<items>
<item name="item1" label="1" />
<item name="item2" label="2" />
<item name="item3" label="3" />
</items>
</ItemConfiguration>
我的 Parameters.xml 如下所示:
<parameter name="item1" defaultValue="<item name='name' label='label' />">
<parameterEntry kind="XmlFile" scope="obj\\Release\\Package\\PackageTmp\\web\.config$"
match="/configuration/itemConfiguration/items" />
</parameter>
<parameter name="item2" defaultValue="<item name='name' label='label' />">
<parameterEntry kind="XmlFile" scope="obj\\Release\\Package\\PackageTmp\\web\.config$"
match="/configuration/itemConfiguration/items" />
</parameter>
<parameter name="item3" defaultValue="<item name='name' label='label' />">
<parameterEntry kind="XmlFile" scope="obj\\Release\\Package\\PackageTmp\\web\.config$"
match="/configuration/itemConfiguration/items" />
</parameter>
其中一个部署站点的和我的 SetParameters.xml :
<?xml version="1.0" encoding="utf-8"?>
<parameters>
...
<setParameter name="item1" value="<item name='book1' label='book 1' />" />
<setParameter name="item2" value="<item name='book2' label='book 2' /> " />
<setParameter name="item3" value="< />" />
</parameters>
以上配置允许我设置2个项目进行部署。 我的问题是,如果我需要配置的次数多于在parameters.xml中定义的项目,那么我想要book1,book2,book3和book4,那么我该怎么做呢?另一个站点可能需要在该组中配置10个项目。
并且在部署Parameters.xml时不能再进行更改,只有SetParameters.xml允许更改,所以我想知道我是以错误的方式进行更改还是存在限制。
感谢
答案 0 :(得分:0)
也许不是你所期望的答案,因为它没有直接处理参数,但我会用另一种方法解决这个问题,更简单,更灵活恕我直言:
<ItemConfiguration>
<items>
<!-- this section to be defined by the environment config -->
</items>
</ItemConfiguration>
<ItemConfiguration>
<items>
<item name="item1" label="1" xdt:Transform="Insert"/>
<item name="item2" label="2" xdt:Transform="Insert"/>
</items>
</ItemConfiguration>
<ItemConfiguration>
<items>
<item name="item1" label="1" xdt:Transform="Insert"/>
<item name="item4" label="4" xdt:Transform="Insert"/>
<item name="item5" label="5" xdt:Transform="Insert"/>
<item name="item6" label="6" xdt:Transform="Insert"/>
</items>
</ItemConfiguration>
<ItemConfiguration>
<items>
<item name="item1" label="1" xdt:Transform="Insert"/>
<item name="item2" label="2" xdt:Transform="Insert"/>
<item name="item3" label="3" xdt:Transform="Insert"/>
</items>
</ItemConfiguration>
另外不要忘记将定义包含在配置文件中:
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
...
</configuration>