通过msdeploy的Azure Web应用部署错误-错误\u不足\u访问\u站点\u文件夹

通过msdeploy的Azure Web应用部署错误-错误\u不足\u访问\u站点\u文件夹,azure,azure-web-app-service,azure-deployment,Azure,Azure Web App Service,Azure Deployment,我已经使用msdeploy部署到我的Azure Web应用程序大约4个月了,上传网站的一切都很顺利。 直到最近,在部署方面还没有出现错误。我现在在发布网站应用程序时收到“错误\u访问\u站点\u文件夹不足”错误 我成功更新网站的唯一方法是停止Azure上的Web应用程序,然后通过Visual Studio为Web应用程序执行发布。但如果用户当前正在使用该系统,则这可能是一个问题。我真的不希望在更新网站时有任何停机时间 完全错误如下所示: msdeploy错误\u对\u站点\u文件夹的访问不足\u

我已经使用msdeploy部署到我的Azure Web应用程序大约4个月了,上传网站的一切都很顺利。 直到最近,在部署方面还没有出现错误。我现在在发布网站应用程序时收到“错误\u访问\u站点\u文件夹不足”错误

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

完全错误如下所示:

msdeploy错误\u对\u站点\u文件夹的访问不足\u:Web部署任务失败。(无法对指定的目录(“D:\home\site\wwwroot\bin\Domain.DbFactory.dll”)执行操作(“创建文件”)。如果服务器管理员没有为您使用的用户凭据授权此操作,则可能会发生这种情况。有关详细信息,请访问:

我将如何授权这些权限


我还重置了Azure上的发布配置文件,并下载了一个新的配置文件以再次尝试。但这一点运气不好。

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

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

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

请注意,如果是这种情况,那么它不是特定于Azure的,并且在任何地方部署都可能会遇到同样的问题。e、 g.在本地运行时,尝试从
bin
文件夹中删除此文件

无论如何,如果要发布新版本,您需要确保没有文件被锁定在适当的位置

如果您找不到这样做的方法,这里有一种技术可以让您在不停机的情况下发布:

  • 使用,转到您的
    d:\home\site\wwwroot\bin
    文件夹
  • 重命名有问题的DLL,例如将其重命名为
    Gehs.DbFactory.DLL.old
    (即使无法删除,重命名也正常工作)
  • 你出版什么
在一个工作正常但突然中断的部署上,我遇到了错误
(无法对指定目录(“2\u 0\u 50727”)执行操作(“删除目录”)

如果你不注意,“2_0_50727”看起来只是一个随机数

原来是文件夹
aspnet\u client\system\u web\2\u 0\u 50727
甚至不包含任何文件

根据此文件夹的时间戳,以及在我的所有web应用程序中都有此时间戳的事实,它一定是在我对IIS安装的功能进行某些更改时由
Add/Remove Features
创建的。因此,无论在什么位置运行的权限,都是创建此文件夹的原因


一旦我删除了它,我就可以再次部署。

当我在我的项目的内容下添加一个新文件夹,然后尝试发布时,同样的事情也发生在我身上。我刚刚在Azure上重新启动了应用程序,然后它工作正常。

当我停止实例,从Octopus部署到Azure Web应用程序时,我也发生了同样的事情。Buw3wp scm进程仍在使用该文件。因此,我必须通过转到process Explorer来终止它


在终止它之前,通过文件句柄搜索正在使用文件的进程发生在我身上,当时我正在通过FTP处理应用程序服务文件。我可能删除了一些重要的内容。刷新和重新启动应用程序服务有帮助。

嗨,这会发生在该web应用程序的任何已发布文件上。无论是“创建”权限被拒绝,或者如果在发布时删除远程文件,则为“删除”权限被拒绝。但是,您的建议帮助我使用Kudu控制台管理web应用程序,并通过重命名文件使其重新运行。非常感谢。您也可以在发布之前在Azure门户中停止网站,然后重新启动。当然,网站将不可用,但这可能是开发过程中的一个选项。我只是d此问题。尽管抱怨远程Azure服务器上的文件存在问题,但只需重新启动VS即可修复此问题。@Costo我停止了网站,但出现了相同的问题。最终从Kudu调试控制台删除了文件。请确保检查所有web应用程序是否存在此问题-可能也是应用程序的所有虚拟目录