Disclaimer The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.
<PropertyGroup> ...
<TestDataUrl>http://blah/SUMSWS $(BuildNumber)/SUMSDataasmx</TestDataUrl> <TestSecurityUrl>http://blah/SUMSWS $(BuildNumber)/SUMSSecurity.asmx</TestSecurityUrl>
</PropertyGroup>
<UsingTask TaskName="AirwaysBuild.Tasks.XMLFile.ModifyXMLNode" AssemblyFile="Airways.Build.Tasks.dll"/>
<Target Name="AfterDropBuild">
...
<!-- update the app.config --> <ModifyXMLNode Filename="$(ClientDeployDest)\Airways.SUMS.exe.config" XPath="/configuration/applicationSettings/Airways.SUMS.Properties.Settings/setting[@name='WSDataURL']/value" NewValue="$(TestDataUrl)" /> <ModifyXMLNode Filename="$(ClientDeployDest)\Airways.SUMS.exe.config" XPath="/configuration/applicationSettings/Airways.SUMS.Properties.Settings/setting[@name='WSSecurityURL']/value" NewValue="$(TestSecurityUrl)" /> <ModifyXMLNode Filename="$(ClientDeployDest)\Airways.SUMS.exe.config" XPath="/configuration/applicationSettings/Airways.SUMS.Properties.Settings/setting[@name='BuildVersion']/value" NewValue="$(BuildNumber)" /></Target>
XmlNode node = Document.DocumentElement.SelectSingleNode(XPath);if (node != null){ node.InnerText = NewValue;}