通过 msdeploy 发生 Azure Web App 部署错误 - ERROR_INSUFFICIENT_A CCESS_TO_SITE_FOLDER

2024-02-17

我已经使用 msdeploy 部署到我的 Azure Web App 大约 4 个月了,上传网站的一切都很顺利。 直到最近,部署还没有出现任何错误。现在,我在发布网站应用程序时收到“ERROR_INSUFFICIENT_ACCESS_TO_SITE_FOLDER”错误。

我成功更新网站的唯一方法是停止 Azure 上的 Web 应用程序,然后通过 Visual Studio 执行 Web 应用程序的发布。但如果用户当前正在使用该系统,这可能会成为一个问题。我真的不想在更新网站时出现任何停机时间。

完整错误如下:

msdeploy 错误 ERROR_INSUFFICIENT_ACCESS_TO_SITE_FOLDER:Web 部署任务失败。 (无法对指定目录(“D:\home\site\ wwwroot\bin\Domain.DbFactory.dll”)执行操作(“创建文件”)。如果服务器管理员未授权此操作,则可能会发生这种情况您正在使用的用户凭据。了解更多信息:http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_INSUFFICIENT_ACCESS_TO_SITE_FOLDER http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_INSUFFICIENT_ACCESS_TO_SITE_FOLDER.)

我将如何授权这些权限?

我还在 Azure 上重置了我的发布配置文件,并下载了新的配置文件以再次尝试。但没有运气。


这个错误有点欺骗性。这可能与权限无关,而是由正在使用的文件引起的。

它总是发生在Gehs.DbFactory.dll,或者有时是其他文件?也是Gehs.DbFactory.dll常规的托管程序集,还是本机/混合程序集?

通常,所有程序集都会进行影子复制,因此它们不会被锁定在bin文件夹。如果它是本机的,它最终可能会被加载到位。

请注意,如果是这种情况,则它不是 Azure 特定的,并且您在任何地方部署时都可能会遇到相同的问题。例如尝试从您的中删除该文件bin本地运行时的文件夹。

无论如何,如果您想发布更新版本,您需要确保没有文件被锁定。

如果您找不到方法来执行此操作,这里有一种技术可以让您在不停机的情况下进行发布:

  • using Kudu 控制台 https://github.com/projectkudu/kudu/wiki/Kudu-console,去你的d:\home\site\wwwroot\bin folder
  • 重命名有问题的 DLL,例如到Gehs.DbFactory.dll.old(即使无法删除,重命名通常也有效)
  • 做你的出版
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过 msdeploy 发生 Azure Web App 部署错误 - ERROR_INSUFFICIENT_A CCESS_TO_SITE_FOLDER 的相关文章

随机推荐