将 visual studio 升级到 16.10.0 后拒绝加载 _framework/aspnetcore-browser-refresh.js
Refused to load _framework/aspnetcore-browser-refresh.js after upgrading visual studio to 16.10.0
我正在处理 .net 5 blazor wasm
项目。我最近将 Visual Studio 2019
更新为 16.10.0
版本。突然间,我的浏览器开始收到一条错误消息 (Google Chrome) console
,如下所示:
Refused to load the script
'https://localhost:44340/_framework/aspnetcore-browser-refresh.js'
because it violates the following Content Security Policy directive:
"script-src 'sha256-fa5rxHhZ799izGRP38+h4ud5QXNT0SFaFlh4eqDumBI='".
Note that 'script-src-elem' was not explicitly set, so 'script-src' is
used as a fallback.
我的 index.html
中没有添加 _framework/aspnetcore-browser-refresh.js
。这是我的 index.html
中的脚本和样式声明
styles
在 index.html
中的 <head>
中声明:
<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>
scripts
在 index.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>
但是当我通过 visual studio
启动应用程序时,我可以从浏览器中看到 _framework/aspnetcore-browser-refresh.js
被附加到我的 index.html
中的脚本部分。这是屏幕打印。
这与我的配置错误有关吗?或者我需要在 index.html
中设置 CSP?请协助。
看起来像 /_framework/aspnetcore-browser-refresh.js
脚本 belongs to a new Hot Reload 功能。
由于升级导致某些东西被破坏,因为消息: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>
至少你需要在 script-src
指令中包含 'self'
。此外,sha256-fa5rxHhZ799izGRP38+h4ud5QXNT0SFaFlh4eqDumBI= 哈希值与您的 navigator.serviceWorker.register('service-worker.js') 的 hash 不匹配;内联脚本。
你应该在控制台中有很多 CSP 错误。
我正在处理 .net 5 blazor wasm
项目。我最近将 Visual Studio 2019
更新为 16.10.0
版本。突然间,我的浏览器开始收到一条错误消息 (Google Chrome) console
,如下所示:
Refused to load the script 'https://localhost:44340/_framework/aspnetcore-browser-refresh.js' because it violates the following Content Security Policy directive: "script-src 'sha256-fa5rxHhZ799izGRP38+h4ud5QXNT0SFaFlh4eqDumBI='". Note that 'script-src-elem' was not explicitly set, so 'script-src' is used as a fallback.
我的 index.html
中没有添加 _framework/aspnetcore-browser-refresh.js
。这是我的 index.html
styles
在 index.html
中的 <head>
中声明:
<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>
scripts
在 index.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>
但是当我通过 visual studio
启动应用程序时,我可以从浏览器中看到 _framework/aspnetcore-browser-refresh.js
被附加到我的 index.html
中的脚本部分。这是屏幕打印。
这与我的配置错误有关吗?或者我需要在 index.html
中设置 CSP?请协助。
看起来像 /_framework/aspnetcore-browser-refresh.js
脚本 belongs to a new Hot Reload 功能。
由于升级导致某些东西被破坏,因为消息: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>
至少你需要在 script-src
指令中包含 'self'
。此外,sha256-fa5rxHhZ799izGRP38+h4ud5QXNT0SFaFlh4eqDumBI= 哈希值与您的 navigator.serviceWorker.register('service-worker.js') 的 hash 不匹配;内联脚本。
你应该在控制台中有很多 CSP 错误。