Azure部署[错误]进程';appcmd.exe';已退出,代码为';4312';

Azure部署[错误]进程';appcmd.exe';已退出,代码为';4312';,azure,iis,deployment,azure-devops,azure-web-app-service,Azure,Iis,Deployment,Azure Devops,Azure Web App Service,我正在尝试在azure vm上进行部署,但日志中出现以下错误。任何帮助都将不胜感激 2019-02-25T14:02:55.2630391Z###[部分]开始:管理IISWebsite 2019-02-25T14:02:55.2638264Z============================================================================== 2019-02-25T14:02:55.2638352Z任务:IIS Web应用程序管理 2019-

我正在尝试在azure vm上进行部署,但日志中出现以下错误。任何帮助都将不胜感激

2019-02-25T14:02:55.2630391Z###[部分]开始:管理IISWebsite 2019-02-25T14:02:55.2638264Z============================================================================== 2019-02-25T14:02:55.2638352Z任务:IIS Web应用程序管理 2019-02-25T14:02:55.2638426Z说明:创建或更新网站、Web应用程序、虚拟目录和应用程序池 2019-02-25T14:02:55.2638480Z版本:0.5.9 2019-02-25T14:02:55.2638542Z作者:微软公司 2019-02-25T14:02:55.2638599Z帮助: 2019-02-25T14:02:55.2638661Z============================================================================== 2019-02-25T14:02:56.5249594Z##[命令]“C:\Windows\system32\inetsrv\appcmd.exe”列表应用池/名称:“azure2” 2019-02-25T14:02:56.5894950Z##[命令]“C:\Windows\system32\inetsrv\appcmd.exe”设置apppool/apppool.name:“azure2”-managedRuntimeVersion:v4.0-managedPipelineMode:Integrated-processModel.Identity类型:ApplicationPoolIdentity 2019-02-25T14:02:56.6765646Z应用池对象“azure2”已更改 2019-02-25T14:02:56.6880351Z##[命令]“C:\Windows\system32\inetsrv\appcmd.exe”列出站点/名称:“azure2.desap.net” 2019-02-25T14:02:56.7391199Z##[命令]“C:\Windows\system32\inetsrv\appcmd.exe”添加站点/名称:“azure2.desap.net”/physicalPath:“C:\inetpub\wwwroot\net.desap.azure2” 2019-02-25T14:02:56.8221558Z添加了场地对象“azure2.desap.net” 2019-02-25T14:02:56.8254882Z应用程序对象“azure2.desap.net/”已添加 2019-02-25T14:02:56.8255141Z VDIR对象“azure2.desap.net/”已添加 2019-02-25T14:02:56.8450318Z##[命令]“C:\Windows\system32\inetsrv\appcmd.exe”设置站点/站点名称:“azure2.desap.net”-applicationDefaults.applicationPool:“azure2”-[path='/'].[path='/']。物理路径:“C:\inetpub\wwwwroot\net.desap.azure2”-[path='/'.[path='/'.] 2019-02-25T14:02:56.9132304Z站点对象“azure2.desap.net”已更改 2019-02-25T14:02:56.9421865Z##[命令]“C:\Windows\system32\inetsrv\appcmd.exe”列出站点 2019-02-25T14:02:57.0211736Z##[命令]“netsh”http show sslcert hostnameport=azure2.desap.net:443 2019-02-25T14:02:57.0749939Z##[命令]“netsh”http add sslcert hostnameport=azure2.desap.net:443 certhash=***appid={27113a38-e64f-45dd-8078-c551f0cd842e}certstorename=MY 2019-02-25T14:02:57.1144820Z 2019-02-25T14:02:57.1145068Z SSL证书已成功添加 2019-02-25T14:02:57.1145124Z 2019-02-25T14:02:57.1319852Z##[命令]“C:\Windows\system32\inetsrv\appcmd.exe”设置站点/站点名称:“azure2.desap.net”/bindings.[protocol='https',bindingInformation='*:443:azure2.desap.net'].sslFlags:“1” 2019-02-25T14:02:57.1773238Z错误(消息:找不到请求的收集元素。) 2019-02-25T14:02:57.3415435Z###[错误]进程“appcmd.exe”已退出,代码为“4312”。 2019-02-25T14:02:57.3731371Z###[部分]整理:管理IISWebsite


产生此错误消息的原因是,在没有生成任何工件的情况下,我在.yaml代码的末尾添加了这一行,它得到了修复

- task: PublishBuildArtifacts@1    
  displayName: 'Publish Artifact: drop'
  inputs:
    PathtoPublish: '$(build.artifactstagingdirectory)'

我也遇到了同样的错误。基本上,它不喜欢更改附加到站点的现有证书,即如果IIS中的站点绑定已经附加了现有证书,这与发布版本不同;它将失败

为了更正它,我手动(按顺序)删除了站点及其关联的应用程序池。重新发布,效果非常好。希望这对别人有帮助