首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用appcmd更新apphostconfig文件

使用appcmd更新apphostconfig文件
EN

Stack Overflow用户
提问于 2020-06-17 03:34:08
回答 2查看 177关注 0票数 1

在azure devops管道中,我尝试运行appcmd命令来修改appcmd文件以设置api.hostname.net变量它的工作方式如下:appcmd set config -section:system.applicationHost/applicationPools /+"name='api.hostname.net'.environmentVariables.name='ASPNETCORE_ENVIRONMENT',applicationhost.config =‘ASPNETCORE_ENVIRONMENT’“

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

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

EN

回答 2

Stack Overflow用户

发布于 2020-06-17 14:54:55

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

转换文件示例:

代码语言:javascript
复制
<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>

有关详细信息,请参阅此document

票数 0
EN

Stack Overflow用户

发布于 2021-08-27 09:04:02

我有类似的需求,并且我必须脚本化这些命令,所以任何基于UI的方法都不适用于我。在这里提供我的解决方案。

我想要更新位于appSettings部分的名为PasswordChangeEnabled的已有密钥。

代码语言:javascript
复制
<appSettings>
 <add key="PasswordChangeEnabled" value="false" />
</appSettings>

如果我将set config与加号/+一起使用

代码语言:javascript
复制
appcmd set config "Site" /section:appSettings /+"[key='PasswordChangeEnabled',value='true']"

我将收到一条错误消息:

键错误(无法添加类型为“”add“”且唯一键属性“”

“”设置为“”PasswordChangeEnabled“”的重复集合条目)“”

因此,我更改了语法,只修改了值:

代码语言:javascript
复制
appcmd set config "Site" /section:appSettings /"[key='PasswordChangeEnabled'].value:true"

这种方式对我很有效。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62416255

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档