Visual Studio 发布错误代码 0x80070005 -- Bootstrap 许可证

Bob*_*ury 17 visual-studio-2022

在多次成功发布后,当我尝试发布到 Azure 时,Visual Studio 2022 突然出现错误。它正在我的 D: 盘上查找 Bootstrap 许可证。没有D:盘。

我几周前就做到了这一点,不是通过发布,而是通过构建。我最终通过删除 bin 文件夹解决了这个问题。今天这不起作用。

环顾四周,其他人也遇到过类似的情况,但似乎不是我的情况。

2021-12-01:没有任何线索如何解决?

这是日志输出:

无法对指定目录(“D:\home\site\wwwroot\wwwroot\Identity\lib\bootstrap\LICENSE”)执行操作(“创建文件”)。如果服务器管理员尚未为您正在使用的用户凭据授权此操作,则可能会发生这种情况。了解更多信息,请访问:http://go.microsoft.com/fwlink/? LinkId=221672#ERROR_INSUFFICIENT_ACCESS_TO_SITE_FOLDER 。了解更多信息:https://go.microsoft.com/fwlink/ ?LinkId=221672#ERROR_INSUFFICIENT_ACCESS_TO_SITE_FOLDER 。错误代码为 0x80070005。对路径“D:\home\site\wwwroot\wwwroot\Identity\lib\bootstrap\LICENSE”的访问被拒绝。在 Microsoft.Web.Deployment.NativeMethods.RaiseIOExceptionFromErrorCode(Win32ErrorCode errorCode, String MaybeFullPath) 在 Microsoft.Web.Deployment.FileStreamEx.CreateInstance(String path, FileMode fileMode, FileAccess fileAccess, FileShare fileShare, Nullable`1 fileLength) 在 Microsoft.Web。 Deployment.FilePathProviderBase.Add(DeploymentObject source, Boolean whatIf) 发布部署失败。

2>Build failed. Check the Output window for more details.
========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
========== Publish: 0 succeeded, 1 failed, 0 skipped ==========
Run Code Online (Sandbox Code Playgroud)

小智 18

我遇到了同样的问题,看起来这个问题是由 VS 2022 引起的。我认为它获取了一个没有名为 License 的扩展名的文件,并将其误认为是一个文件夹。我可以通过删除许可证文件和部署时 VS 2022 在我的 Web 服务器上创建的文件夹来解决该问题。

  • 也为我工作,使用 FileZilla 修复。但是,它不是 VS 2022,它针对的是 .NET 6。使用 VS 2022,当我针对 .NET 5 时一切正常,但是当我将目标更改为 .NET 6 时,它会出现 Bootstrap LICENSE 错误。 (3认同)
  • 谢谢,@TonyIsaac @GaryMcGill 问题是,在 .Net 5 中,有一个名为“Identity/Bootstrap/LICENSE”的文件夹,里面有一个“LICENSE”文件,迁移到 .Net 6 后,引导文件夹结构发生了变化。“LICENSE”文件夹已被删除,并且“LICENSE”文件已移动到路径“Identity/Bootstrap/”。错误是部署服务试图在旧“LICENSE”文件夹旁边的确切位置创建文件“LICENSE”! (3认同)
  • @TonyIsaac:我认为你是对的。.NET 6 使用 Bootstrap 5,而 .NET 5 使用 Bootstrap 4。因此,Identity 包中包含的 Bootstrap 文件的位置/内容发生了变化。 (2认同)

Bob*_*lth 13

我通过执行以下操作修复了它:

  1. 打开 Azure 门户
  2. 打开应用服务页面
  3. 打开控制台刀片
  4. 在控制台中,导航到 D:\home\site\wwwroot\wwwroot
  5. 使用rmdir /s /q Identity删除 Identity 文件夹。

  • 我们对许可证文件有完全相同的访问被拒绝错误。事实证明,升级到 .NET 6 更改了文件的位置,并且部署失败。使用 Azure 应用服务中的控制台,我导航到“wwwroot\Identity\lib\bootstrap”并删除了文件夹 LICENSE(包含文件 LICENSE)。接下来的部署就成功了。 (7认同)
  • 解决问题的有用命令。我只需要删除有问题的 LINCSE 路径(文件夹和文件)。导航到 D:\home\site\wwwroot\wwwroot\Identity\lib\bootstrap 并执行 rmdir /s /q LICENSE (2认同)

Bob*_*ury 2

感谢 MS 的支持,已修复此问题。不知何故,服务器文件夹 wwwroot 结构已损坏。