无法在 Blazor 应用程序的资源的 'integrity' 属性中找到有效的摘要

Failed to find a valid digest in the 'integrity' attribute for resource in Blazor app

我有一个 Blazor client/server 应用程序,我已经开发了一段时间,到目前为止它运行良好。我突然开始收到这个错误

Failed to find a valid digest in the 'integrity' attribute for resource 'https://mydomain.no/_framework/Faso.Blazor.SpinKit.dll' with computed SHA-256 integrity '1UEuhA1KzEN0bQcoU0m1eL4WKcCIWHhPgoXydAJnO9w='. The resource has been blocked.

Failed to find a valid digest in the 'integrity' attribute for resource

我尝试过清理和重建。我尝试添加 Cors、设置文件夹权限和许多其他建议的解决方案,但无济于事。我在 VS 2022 和 Win Server 2016、.net core 5.0 中使用网络部署。

如有任何建议,我们将不胜感激。

这确实是一个烦人的问题,我时不时地遇到这个错误。这似乎是在更新一些包之后发生的,构建过程无法为包获取新的 SHA。

您可以通过查找包含 SHA 的文件并将有问题的 dll 的 SHA 与错误消息中的 SHA 进行比较来验证是否存在此问题。 该文件名为 blazor.boot.json,生成于项目文件夹的 obj 文件夹深处。 (我的在这里:obj\Release\net6.0\win-x86\PubTmp\Out\wwwroot\_framework

如果是问题所在,请尝试以下操作:

  1. 关闭VS.
  2. 从您的所有项目中删除 objbin 文件夹。 (网络项目可能就足够了,但是嘿 - 不会伤害)
  3. 开始VS
  4. 重建解决方案。
  5. 再次尝试发布。

我终于解决了我自己的问题!这个问题已经困扰我好几个星期了。

我已经尝试了此处和其他地方提到的所有方法,并且 none 有效。起作用的是使用我的 ftp 客户端 (filezilla) 并将传输类型从“自动”更改为“二进制”(传输 > 传输类型 > 二进制)。我没有在 VS2022 中看到执行此操作的选项,所以我想我现在将使用我的手动 ftp 客户端解决方案。

啊啊啊啊啊。