您的位置:首页 > 移动开发

【Azure 应用服务】VS2019发布应用到正在运行的App Service时失败问题的解决

2021-08-30 17:56 1121 查看

问题描述

在VS 2019中配置号App Service的Publish Profile后,发布应用出现错误。根据VS 2019中的输出消息可知有文件正在运行中,无法被替换,所以发布失败。

 

 

问题解决

根据消息提示 “The process cannot access the file because it it being used by anther process”, 因为当前App Service正在远行,所以需要先停止App Service,然后部署,最后启动应用。具体步骤为:

  1. 在Azrue Portal 上点一下“停止”
  2. 开始部署
  3. 部署完成后在Azrue Portal 上再点一下“开始”

如果在部署代码时候,感觉以上办法有些冗余。

 

方式一:可以在Project的根目录中(目标路径时是App Service中的wwwroot目录) 添加 App_Offline.htm 文件。

为什么这有帮助?

因为 ASP.NET 和 ASP.NET Core 都知道如何监听这个文件的出现,并自行关闭。 这会导致卸载所有资源,这通常会解锁所有文件。

当然,缺点是您的站点在部署期间不可用。

 

方式二:修改App Service的配置参数,启用 MSDEPLOY_RENAME_LOCKED_FILES=1  的配置。

如果在部署期间无法复制 DLL,这会导致 msdeploy 尝试重命名 DLL。 这通常有效,因为即使加载了 DLL,它们通常仍然可以重命名。 它使用 .delete 扩展名重命名它们,然后在下一轮清理。

 

 

问题参考

Dealing with locked files during deployment: https://github.com/projectkudu/kudu/wiki/Dealing-with-locked-files-during-deployment or https://www.cnblogs.com/lulight/articles/15207168.html

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐