Iis 使用appcmd更新apphostconfig文件

Iis 使用appcmd更新apphostconfig文件,iis,azure-devops,appcmd,Iis,Azure Devops,Appcmd,在azure devops管道中,我尝试运行appcmd命令来修改applicationhost.config文件以设置ASPNETCORE\u环境变量 它的工作原理如下: appcmd set config-部分:system.applicationHost/applicationPools/+“[name='api.hostname.net'].environmentVariables.[name='ASPNETCORE\u ENVIRONMENT',value='api.hostname.

在azure devops管道中,我尝试运行appcmd命令来修改applicationhost.config文件以设置ASPNETCORE\u环境变量 它的工作原理如下: appcmd set config-部分:system.applicationHost/applicationPools/+“[name='api.hostname.net'].environmentVariables.[name='ASPNETCORE\u ENVIRONMENT',value='api.hostname.net']”

问题是这个appcmd命令第一次起作用,但是一旦环境变量已经存在,它就会抛出一条错误消息。我可以忽略appcmd中的错误吗?或者只添加环境变量(如果它以前不存在)


我正在使用azure devops运行appcmd命令IISWebAppManagementOnMachineGroup@0任务。

您可以尝试在IIS web部署任务中使用
XML转换
选项。XML转换支持转换配置文件(*.config文件),并且基于web包将部署到的环境

转换文件示例:

<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
  <system.webServer>
    <aspNetCore ...>
      <environmentVariables>
        <environmentVariable xdt:Transform="Replace" xdt:Locator="Match(name)" name="ASPNETCORE_ENVIRONMENT" value="xxx" />
      </environmentVariables>
    </aspNetCore>
  </system.webServer>
</configuration>


.

您可以尝试在IIS web部署任务中使用
XML转换
选项。XML转换支持转换配置文件(*.config文件),并且基于web包将部署到的环境

转换文件示例:

<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
  <system.webServer>
    <aspNetCore ...>
      <environmentVariables>
        <environmentVariable xdt:Transform="Replace" xdt:Locator="Match(name)" name="ASPNETCORE_ENVIRONMENT" value="xxx" />
      </environmentVariables>
    </aspNetCore>
  </system.webServer>
</configuration>


.

始终先删除它,然后再创建它。然后可以多次运行序列。始终先删除序列,然后再创建序列。然后可以多次运行该序列。