从.NET 7迁移Blazor WASM到.NET 8时dotnet.js缺失问题求助
解决Blazor WASM从.NET7迁移到.NET8后
_dotnet.js 404的问题 1. 检查项目托管模型配置
- 若是**独立托管(Standalone)**项目,确认
.csproj文件的静态资源路径及框架配置正确,注意.NET8默认的输出结构变化:<PropertyGroup> <TargetFramework>net8.0</TargetFramework> <BlazorWebAssemblyEnableLinking>true</BlazorWebAssemblyEnableLinking> <!-- 部署在根目录保持默认,子目录需修改对应路径 --> <StaticWebAssetBasePath>/</StaticWebAssetBasePath> </PropertyGroup> - 若是ASP.NET Core托管项目,检查服务器项目
Program.cs是否正确启用Blazor相关服务:app.UseBlazorFrameworkFiles(); app.UseStaticFiles(); app.MapFallbackToFile("index.html");
2. 彻底清理并重新生成项目
- 执行命令清理缓存与输出:
dotnet clean dotnet restore dotnet build -c Release - 手动删除项目根目录下的
bin和obj文件夹后,重新编译运行。
3. 验证开发服务器静态文件配置
- 若使用自定义开发服务器,确保服务器正确映射
_framework目录,允许访问.js、.wasm等文件类型。
4. 确认.NET8 SDK完整性
- 终端执行
dotnet --version,确认安装的是.NET8正式版,若版本不符重新安装官方正式SDK。
5. 清除浏览器缓存
- 按
Ctrl+Shift+R强制刷新浏览器,避免加载缓存的旧版Blazor资源。
内容的提问来源于stack exchange,提问作者user3531016
相关产品推荐
相关产品推荐

