azure-pipelines-tasks: Variable substitution for ApplicationSettings not working

It seems that while appSettings are correctly substituted, applicationSettings are not.

Her in xmlvariablesubstituionutility.ts the code is iterating through a set of tags.

https://github.com/Microsoft/vsts-tasks/blob/a698fb593f58fe733df94aa166a99ed3ea6dda5b/Tasks/Common/webdeployment-common/xmlvariablesubstitutionutility.ts#L84

There appears to be special case code for configSections and connectionStrings https://github.com/Microsoft/vsts-tasks/blob/a698fb593f58fe733df94aa166a99ed3ea6dda5b/Tasks/Common/webdeployment-common/xmlvariablesubstitutionutility.ts#L125

and the rest of the code goes to updateXmlNodeAttribute https://github.com/Microsoft/vsts-tasks/blob/a698fb593f58fe733df94aa166a99ed3ea6dda5b/Tasks/Common/webdeployment-common/xmlvariablesubstitutionutility.ts#L178

It looks like updateXmlNodeAttribute is really designed for appSettings structures as:

<appSettings>
<add key="blat" value="blart"/>
</appSettings>

and not applicationSettings structures which look like:

<applicationSettings>
  <myCustomSection>
   <setting name="blat" serializeAs="String">
      <value>blart</value>
   </setting>
  </myCustomSection>
</applicationSettings>

About this issue

  • Original URL
  • State: closed
  • Created 7 years ago
  • Reactions: 1
  • Comments: 22

Most upvoted comments

We have skipped deployment of one release (M128) in between. Deployment of release M129 has been started and will be available in next 2 weeks to almost all rings.

Though I will not recommend to run a pre release version. But for you info in case of it’s blocking you below are the steps to achieve it.

Deploying copy of task by changing Task Id

  1. Clone vsts-tasks repo
  2. Open task.json file of Azure App Service task and change task Id guid
  3. Build task by running command - gulp build --task AzureRmWebAppDeployment
  4. Deploy task using tfx cli => tfx build tasks upload --task-path <Path of task build>