machineKey标签的转换

时间:2019-04-08 07:27:40

标签: azure-devops environment-variables release-management web.config-transform

我们必须转换标签,其中对于我们的开发和测试环境,“ decryptionKey”和“ validationKey”将有所不同。

我们尝试为validationKey和decryptionKey提供不同的变量,但将它们与xdt:Transform和xdt:Locator属性混淆,因为它们将在同一标签中出现一次。

假设下面是web.config machineKey标记,

<machineKey decryptionKey="012345678910111213141516"
            validation="SHA1"                validationKey="235487512547896321458778996325456965542126364586965" />

我们必须进行如下转换,

<machineKey decryptionKey="#{DecryptionKey}#"
            validation="SHA1"
            validationKey="#{ValidationKey}#"
            xdt:Transform="SetAttributes" 
            xdt:Locator="Match(decryptionKey)"
            xdt:Transform="SetAttributes" 
            xdt:Locator="Match(validationKey)" />

需要这种解决方案,我们必须在单个标签内提供多个变量。

1 个答案:

答案 0 :(得分:0)

要设置多个属性,您需要将它们作为逗号分隔的列表传递到SetAttributes中。

已记录here

但是,如果您实际上要替换所有属性,则使用xdt:Transform="Replace"并在每个配置中设置整个标记值可能会更容易/更简洁。