Msbuild XmlMassUpdate-替换值节点

Msbuild XmlMassUpdate-替换值节点,msbuild,app-config,xmlmassupdate,Msbuild,App Config,Xmlmassupdate,我正在尝试使用XmlMassUpdate根据生成版本类型更新配置文件。在任何地方似乎都没有关于如何更新新app.config(vs2008)设置格式的文档 这是配置部分: <applicationSettings> <CTC.Mica.ClientService.Properties.Settings> <setting name="PipeName" serializeAs="String"> <value>\\.\pipe\mica

我正在尝试使用XmlMassUpdate根据生成版本类型更新配置文件。在任何地方似乎都没有关于如何更新新app.config(vs2008)设置格式的文档

这是配置部分:

<applicationSettings>
<CTC.Mica.ClientService.Properties.Settings>
  <setting name="PipeName" serializeAs="String">
    <value>\\.\pipe\micaPipe</value>
  </setting>
  <setting name="CTC_Mica_ClientService_MicaWebService_MicaWebService"
      serializeAs="String">
    <value>URL</value>
  </setting>
</CTC.Mica.ClientService.Properties.Settings>
</applicationSettings>

\\\pipe\micappe
统一资源定位地址
我正在尝试更新此文件中的URL值:


德维尔
测试URL
LIVEURL

运行脚本时,我可以替换“name”或“serializeAs”属性,但不能替换值节点

如何替换值节点

问候


Tris

以下脚本对我来说很好(运行在1.3.0.471上,可能是夜间版本):

build.proj

<Project DefaultTargets="Run" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <Import Project="$(MSBuildExtensionsPath)\MSBuildCommunityTasks\MSBuild.Community.Tasks.targets" />
    <Target Name="Run">
        <Delete Condition="Exists('output.xml')" Files="output.xml"/>
        <XmlMassUpdate 
            ContentFile="input.xml"
            ContentRoot="/test"
            SubstitutionsFile="subs.xml"
            SubstitutionsRoot="/substitutions/release"
            MergedFile="output.xml"
            />
    </Target>
</Project>

input.xml

<test>
  <setting name="PipeName" serializeAs="String">
    <value>\\.\pipe\micaPipe</value>
  </setting>
  <setting name="CTC_Mica_ClientService_MicaWebService_MicaWebService" serializeAs="String">
    <value>URL</value>
  </setting>
</test>

\\\pipe\micappe
统一资源定位地址
subs.xml

<substitutions xmlns:xmu="urn:msbuildcommunitytasks-xmlmassupdate">
    <release>
        <setting xmu:key="name" name="CTC_Mica_ClientService_MicaWebService_MicaWebService" serializeAs="Testing">
            <value>LIVEURL</value>
        </setting>
    </release>
</substitutions>

LIVEURL
output.xml(由生成生成)


\\\pipe\micappe
LIVEURL

我的版本似乎是1.2.0.306-在任何地方都找不到1.3。我已经运行了您提供的文件,当前版本没有替换值节点内容。我在哪里可以找到1.3版本?它似乎不在社区任务网站上。明白了。谢谢你。我花了一整天的时间试图找出我的脚本有什么问题:(也有同样的问题。1.2.0.306版不会更新值标记,但在更新到最新的夜间版本(1.3.0.477)后,所有这些都可以工作。如何添加多个值节点?12可能应该将其标记为msbuild
<substitutions xmlns:xmu="urn:msbuildcommunitytasks-xmlmassupdate">
    <release>
        <setting xmu:key="name" name="CTC_Mica_ClientService_MicaWebService_MicaWebService" serializeAs="Testing">
            <value>LIVEURL</value>
        </setting>
    </release>
</substitutions>
<test>
  <setting name="PipeName" serializeAs="String">
    <value>\\.\pipe\micaPipe</value>
  </setting>
  <setting name="CTC_Mica_ClientService_MicaWebService_MicaWebService" serializeAs="Testing">
    <value>LIVEURL</value>
  </setting>
</test>