【问题标题】:Can't run published Blazor WebAssembly app无法运行已发布的 Blazor WebAssembly 应用
【发布时间】:2020-09-15 17:25:21
【问题描述】:

当我在 Visual Studio 调试器中运行该应用程序时,它运行良好,但如果我将它部署到服务器,我会在浏览器控制台中收到此错误:

无法在资源“http://example.com/pwaexperiment/wwwroot/_framework/wasm/dotnet.3.2.0.js”的“完整性”属性中找到有效的摘要,计算出的 SHA-256 完整性为“80L/hSwps3gjABzV78X6mehoDDgsLkm1pKpSS6fAqiE=”。该资源已被阻止。

这个错误是什么意思,我该如何解决?

【问题讨论】:

  • 你如何发布?是通过代理吗? example.com 真的是您的域名吗...
  • Wasm 应用程序不应依赖于其位置。也许只是重新部署,如果可以的话检查文件(-size)。确保覆盖。并在浏览器中执行 Ctrl-F5。
  • 有许多 github 问题在讨论这个问题 - github.com/dotnet/aspnetcore/…
  • 我通过 FTP 发布。没有代理。 example.com 不是我的域,只是想稍微编辑一下错误消息。

标签: progressive-web-apps blazor webassembly


【解决方案1】:

尝试将以下标签添加到您的项目中:

<BlazorCacheBootResources>false</BlazorCacheBootResources>

参考:https://github.com/dotnet/aspnetcore/issues/24505#issuecomment-684857753

【讨论】:

  • 谢谢...它帮助了我!!! F@#微软!这么多人遇到这个问题,没有人给出明确的答案..所以 eople 将禁用此功能,90% 将运行不安全的代码只是为了能够运行它。
【解决方案2】:

您的服务器可能正在动态压缩 JS 文件,这会更改内容,因此完整性失败。禁用压缩。

【讨论】:

    【解决方案3】:

    尝试删除项目中的 bin 和 obj 文件夹。然后编译器将使用新的哈希重建 blazor.boot.json 文件。它会在浏览器上加载并通过哈希检查。

    【讨论】:

    • 这并不能真正回答问题。如果您有其他问题,可以点击 提问。要在此问题有新答案时收到通知,您可以follow this question。一旦你有足够的reputation,你也可以add a bounty 来引起对这个问题的更多关注。 - From Review
    猜你喜欢
    • 2020-12-25
    • 1970-01-01
    • 2021-03-14
    • 2021-10-20
    • 2021-10-31
    • 2018-11-17
    • 2020-09-15
    • 1970-01-01
    • 2019-08-04
    相关资源
    最近更新 更多