在Azure应用服务任务v3中使用Web部署时获取ERROR_FILE_IN_USE

时间:2018-09-25 17:22:08

标签: azure-devops azure-pipelines webdeploy

类似的问题已经问了很多遍了,但是大多数答案都是过时的,可能仅部分适用。此问题特定于使用“ Azure App Service Deploy”任务版本3 *通过Azure DevOps / Azure Pipelines使用Web Deploy。

  

无法将Web包部署到App Service。

     

尝试在选中重命名锁定的文件选项的情况下再次部署应用程序服务。

     

错误代码:ERROR_FILE_IN_USE

     

更多信息:Web Deploy无法在目标上修改文件“ VBCSCompiler.exe”,因为它已被外部进程锁定。为了使发布操作成功,您可能需要重新启动应用程序以释放锁定,或者在下一次发布时对.Net应用程序使用AppOffline规则处理程序。   尝试。了解更多信息:   http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_FILE_IN_USE

这里有两个建议:

  1. 选择“重命名锁定的文件”选项
  2. 重新启动应用程序
  3. 使用AppOffline规则

此外,该任务的the documentation一起重申了建议1和3。

  

为了避免错误代码为ERROR_FILE_IN_USE的部署失败,如果.NET应用程序针对Windows上的Web App,请确保启用了“重命名锁定的文件”和“使应用程序脱机”。对于零停机时间部署,请使用插槽交换。

但是,这些建议已经到位。 Deployment settings

剩下的就是建议2:重新启动服务。由于许多原因,我宁愿不必退后一步。

为什么1和3不足以成功完成部署?

2 个答案:

答案 0 :(得分:1)

我与Microsoft支持代表进行了交谈,并被告知“重命名锁定的文件”仅适用于DLL。

但是我确实找到了对我有用的解决方案。在“其他参数”中,我添加了“ -useChecksum”。因此,“ Deploy Azure App Service”任务现在看起来像这样

enter image description here

此后我没有任何问题。

答案 1 :(得分:0)

这里跟踪到一个问题:Azure App Service Deploy fails for .net core 2.0 with ERROR_FILE_IN_USE,基于 vincentdass的注释“ PR #8457”,它根据Web Deploy团队的建议使用了新版本的MSDeploy。 / em>。”将来的版本中将对msdeploy进行升级。

但是,您只能检查Publish Using Web DeployRename Locked Files,然后创建一个部署。重新部署不会起作用,因为它不会占用您对发布定义的更改。

参考以下主题,您可以检查有关此问题的讨论并进行相应的故障排除。