.NET 8 RC1 Blazor应用调试出现dotnet.js 404错误,求解决方法
错误说明
这个错误是浏览器加载Blazor WebAssembly核心运行时脚本_framework/dotnet.js时触发的404找不到文件问题,进而导致动态模块导入失败。之所以应用看似能正常运行,大概率是你用的是Blazor Server模式,但项目里误引入了WebAssembly相关配置或依赖,或者.NET 8 RC1预览版本身存在兼容性bug。
解决方法
核对项目类型与配置
先确认你的项目是Blazor Server还是WebAssembly(或托管式):- 如果是Blazor Server:检查项目依赖里有没有多余的
Microsoft.AspNetCore.Components.WebAssembly包,再看Program.cs里是不是误加了builder.Services.AddBlazorWebAssembly()这类WebAssembly的服务配置,有就删掉。 - 如果是Blazor WebAssembly:去
wwwroot/_framework目录下看看有没有dotnet.js文件,调试时这个文件应该是.NET自动生成的,要是找不到就清理重建项目试试。
- 如果是Blazor Server:检查项目依赖里有没有多余的
清理重建项目
按这个流程来:- 删掉项目目录下的
bin和obj文件夹 - 打开终端运行
dotnet clean命令 - 接着运行
dotnet restore恢复依赖 - 重新启动调试会话
- 删掉项目目录下的
检查静态文件中间件顺序
在Program.cs里确保静态文件中间件配置在Blazor相关中间件前面,示例代码如下:app.UseStaticFiles(); app.UseRouting(); app.MapBlazorHub(); app.MapFallbackToPage("/_Host");对于WebAssembly项目,静态文件中间件负责提供
_framework下的脚本文件,顺序错误或者未配置都会导致404。更新到最新的.NET 8 RC版本
.NET 8处于预览阶段,早期RC版本可能存在已知bug,打开终端运行dotnet workload update更新到最新的RC版本,能修复不少脚本生成相关的问题。核对端口与HTTPS配置
确认浏览器访问的7169端口和项目launchSettings.json里的applicationUrl配置一致,同时检查HTTPS证书是否有效,证书异常也可能导致资源加载失败。
内容的提问来源于stack exchange,提问作者DataWrangler1980
相关产品推荐
相关产品推荐

