Blazor Web Assembly本地运行时客户端未下载dll问题咨询
Blazor本地运行看不到客户端下载dll的问题解答
不是你漏了浏览器设置,是Blazor版本更新后默认加载逻辑变了,老教程录制时用的是早期版本的行为。
- 你看的教程里演示的是.NET 5及更早版本Blazor WebAssembly(WASM)的逻辑:那时候运行时会把所有依赖dll、业务代码dll作为单独请求下发,打开F12网络面板能看到一堆
.dll结尾的请求。 - .NET 6之后的Blazor WASM默认开启了压缩和打包优化,所有dll会提前压缩成Brotli(
.br后缀)或者gzip(.gz后缀)的文件,不少版本还会把零散dll合并成.blat格式的二进制包下发,你看不到裸的dll请求是正常现象。这些压缩包下载到本地之后浏览器会直接解压加载,全程不用修改Chrome的任何设置。 - 还有个常见踩坑点:建项目的时候选成Blazor Server而不是Blazor WASM。Blazor Server所有代码都跑在服务端,靠SignalR给客户端推UI更新,根本不会往客户端下载任何dll,自然看不到对应请求。你可以打开项目的
.csproj文件检查,如果引用的是Microsoft.AspNetCore.AppSDK,不是Microsoft.NET.Sdk.BlazorWebAssembly,那就是建错项目类型了。
校验和复现方法
从你贴的截图看页面已经正常渲染,说明应用运行状态完全没问题,不用纠结有没有单独dll请求。要是想复现老教程里的效果,直接在.csproj的<PropertyGroup>节点里加两行配置关掉优化就行:
<BlazorEnableCompression>false</BlazorEnableCompression> <BlazorWebAssemblyEnableDllBundling>false</BlazorWebAssemblyEnableDllBundling>
改完重启调试,就能在网络面板看到单独的dll请求了。提醒一句,生产环境别关这两个配置,关了之后初始加载体积会大很多,访问速度下降很明显。
内容的提问来源于stack exchange,提问作者sukesh
相关产品推荐
相关产品推荐

