XmlMassUpdate - Replace Node Value

I am trying to use XmlMassUpdate to update my configuration files based on the version type of the assembly. There seems to be no documentation on how to update app.config (vs2008) settings formats anywhere.

This is the configuration section:

<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> 

And I'm trying to update the URL value from this file:

 <Debug> <setting xmu:key="name" name="CTC_Mica_ClientService_MicaWebService_MicaWebService" serializeAs="String"> <value>DEVURL</value> </setting> </Debug> <Test> <setting xmu:key="name" name="CTC_Mica_ClientService_MicaWebService_MicaWebService" serializeAs="String"> <value>TESTURL</value> </setting> </Test> <Release> <setting xmu:key="name" name="CTC_Mica_ClientService_MicaWebService_MicaWebService" serializeAs="String"> <value>LIVEURL</value> </setting> </Release> 

By running the script, I can replace the "name" or "serializeAs" attributes, but not the node value.

How do I go about replacing a node value?

Hello

tris

+4
source share
1 answer

The following scripts work fine for me (works on 1.3.0.471, which can be a nightly build):

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> 

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> 

output.xml (generated by the assembly)

 <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> 
+6
source

All Articles