我在 Github 页面上的 Blazor 应用程序的 wasm/dotnet 完整性属性无效

Chr*_*ans 12 html javascript jekyll github-pages blazor

在这里查看我网站上的错误

我在我的 jekyll 站点中嵌入了一个 blazor 应用程序。它在本地完美运行,但是当我在 github 页面上发布它时,出现此错误:

Failed to find a valid digest in the 'integrity' attribute for resource 'https://chrisevans9629.github.io/blazor/xt/_framework/wasm/dotnet.3.2.0-rc1.20222.2.js' with computed SHA-256 integrity 'yVt8FYsTQDifOGsifIkmEXwe+7ML0jZ1dMi2xluiDXQ='. The resource has been blocked.
Run Code Online (Sandbox Code Playgroud)

这是我认为 blazor 在页面运行时生成的东西。这是我的页面开始 blazor 的样子:

Failed to find a valid digest in the 'integrity' attribute for resource 'https://chrisevans9629.github.io/blazor/xt/_framework/wasm/dotnet.3.2.0-rc1.20222.2.js' with computed SHA-256 integrity 'yVt8FYsTQDifOGsifIkmEXwe+7ML0jZ1dMi2xluiDXQ='. The resource has been blocked.
Run Code Online (Sandbox Code Playgroud)

这是 github 页面上的页面:

<script src="js/index.js"></script>
<app>Loading...</app>
Built with <3 using Blazor
<script src="_framework/blazor.webassembly.js"></script>
Run Code Online (Sandbox Code Playgroud)

为什么会发生此错误,我该如何解决?我想过创建一个删除完整性属性的脚本,但我认为这不是一个好的解决方案。

Chr*_*ans 8

我在这里找到了答案

原因

因为我使用 github pages 来托管我的 blazor 应用程序,所以它使用 git 来推送代码。默认情况下,Git 会在提交代码时尝试标准化行尾,这会导致 blazor 应用程序的完整性由于文件更改而失败。

解决方案

为了解决这个问题,我在我的 blazor 文件夹中添加了一个 .gitattributes 文件* binary作为内容。

这告诉 git 将所有文件视为二进制文件,因此不规范化行尾。在我这样做之后,我不得不_framework在我的 blazor 应用程序中删除我的文件夹并重建它。执行此操作后,blazor 应用程序开始工作。


App*_*ack 5

如果其他人最终遇到我今天遇到的问题..

我在本地的 Blazor Wasm 应用程序上也进行了简单修改后出现此错误,然后在恢复更改后仍然出现此错误。

我的解决方案是进行清理和重建。

  • 我在更新一些 nuget 软件包后得到了这个。清洁整个解决方案有帮助.. (2认同)

Boz*_*eff 5

就我而言,这是发布配置文件中错误的目标框架 - 我不应该选择win-x64. 我不确定确切的原因,但服务器会根据目标框架以某种方式干扰响应。只需选择browser-wasm并重新部署;应该没问题。

在此处输入图片说明

  • 这为我解决了这个问题,但我确实必须创建一个新项目 .Net 5 才能获得此选项。我的旧 3.x 项目除了 Portable 之外没有显示任何内容。 (2认同)