Visual Studio升级到16.10.0后拒绝加载_framework/aspnetcore-browser-refresh.js

fin*_*s10 9 content-security-policy asp.net-core blazor visual-studio-2019 blazor-webassembly

我正在做.net 5 blazor wasm项目。我最近更新了Visual Studio 2019版本16.10.0。突然间,我的浏览器(Google Chrome)开始收到一条错误消息,console如下所示:

拒绝加载脚本“https://localhost:44340/_framework/aspnetcore-browser-refresh.js”,因为它违反了以下内容安全策略指令:“script-src 'sha256-fa5rxHhZ799izGRP38+h4ud5QXNT0SFaFlh4eqDumBI='”。请注意,“script-src-elem”未明确设置,因此“script-src”用作后备。

我没有_framework/aspnetcore-browser-refresh.js添加到我的index.html添加。这是我的脚本和样式声明index.html

styles内部声明<head>index.html

<head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
    <title>App</title>
    <base href="/" />
    <link href="css/site.css" rel="stylesheet" />
    <link href="Web.styles.css" rel="stylesheet">
    <link href="_content/BlazorDateRangePicker/daterangepicker.min.css" rel="stylesheet" />
    <link href="manifest.json" rel="manifest" />
    <link rel="apple-touch-icon" sizes="512x512" href="icon-512.png" />
</head>
Run Code Online (Sandbox Code Playgroud)

scriptsindex.html

<script src="_content/Microsoft.AspNetCore.Components.WebAssembly.Authentication/AuthenticationService.js"></script>
<script src="_framework/blazor.webassembly.js"></script>
<script src="js/Chart.js"></script>
<script src="js/print.js"></script>
<script src="js/pdf.js"></script>
<script src="_content/BlazorDateRangePicker/clickAndPositionHandler.js"></script>
<script src="js/blazorInterop.js"></script>
<script>navigator.serviceWorker.register('service-worker.js');</script>
Run Code Online (Sandbox Code Playgroud)

visual studio但是当我通过浏览器启动应用程序时,我可以看到它_framework/aspnetcore-browser-refresh.js被附加到我的index.html. 这是丝网印刷。

索引.html 源

这与我的配置错误有关吗?或者我需要在我的index.html? 请协助。

gra*_*nty 5

看起来/_framework/aspnetcore-browser-refresh.js脚本属于新的热重载功能。

由于升级,有些东西被破坏了,因为消息:it violates the following Content Security Policy directive: "script-src 'sha256-fa5rxHhZ799izGRP38+h4ud5QXNT0SFaFlh4eqDumBI='"说你有 CSP script-src 'sha256-fa5rxHhZ799izGRP38+h4ud5QXNT0SFaFlh4eqDumBI=',但同时你加载了很多脚本:

<script src="_content/Microsoft.AspNetCore.Components.WebAssembly.Authentication/AuthenticationService.js"></script>
<script src="_framework/blazor.webassembly.js"></script>
<script src="js/Chart.js"></script>
<script src="js/print.js"></script>
<script src="js/pdf.js"></script>
<script src="_content/BlazorDateRangePicker/clickAndPositionHandler.js"></script>
<script src="js/blazorInterop.js"></script>
<script>navigator.serviceWorker.register('service-worker.js');</script>
Run Code Online (Sandbox Code Playgroud)

至少你需要'self'script-src指令中包含。此外sha256-fa5rxHhZ799izGRP38+h4ud5QXNT0SFaFlh4eqDumBI=哈希值与 navigator.serviceWorker.register('service-worker.js'); 的哈希值不匹配 内联脚本。

您应该在控制台中看到很多 CSP 错误。