MSBuildのXmlMassUpdateタスクを使用して、すべてのapp.configsのappSettingsを更新したいと思います。私が抱えている問題は、一部のapp.configにappSettings要素がなく、XmlMassUpdateでそれらをスキップできないことです。
これが私がこれまでに持っているものです
<ProjectExtensions>
<appSettings xmlns:xmu="urn:msbuildcommunitytasks-xmlmassupdate">
<add xmu:key="key" key="SettingName" value="newSetting" xmu:action="update" />
</appSettings>
</ProjectExtensions>
<Target Name="Change">
<ItemGroup>
<AppConfigFiles Include="$(SourceRoot)\**\App.config" />
</ItemGroup>
<XmlMassUpdate
ContentFile="$(SourceRoot)\%(AppConfigFiles.RecursiveDir)App.config"
ContentRoot="/configuration/appSettings"
NamespaceDefinitions="msb=http://schemas.microsoft.com/developer/msbuild/2003"
SubstitutionsFile="$(MSBuildProjectDirectory)\SetConfig.proj"
SubstitutionsRoot="/msb:Project/msb:ProjectExtensions/msb:appSettings" />
</Target>
App.configsの1つで失敗し、「/ configuration/appSettings」が見つかりません」と表示されます