.NET8升级至.NET9后Blazor WebAssembly加载程序集失败
.NET9升级后Blazor WebAssembly无法加载Microsoft.AspNetCore.Mvc.Core的解决办法
以下是针对该错误的具体排查和解决步骤:
统一依赖包版本
确保解决方案中所有Microsoft.AspNetCore相关NuGet包都升级到.NET9对应版本,避免混合.NET8与.NET9的依赖。可以直接编辑项目的.csproj文件,将所有PackageReference的版本号改为9.0.x(例如9.0.0或最新补丁版本)。示例修改:<!-- 旧版本 --> <PackageReference Include="Microsoft.AspNetCore.Mvc.Core" Version="8.0.0" /> <!-- 修改为.NET9版本 --> <PackageReference Include="Microsoft.AspNetCore.Mvc.Core" Version="9.0.0" />也可以通过NuGet包管理器的“更新”功能批量升级所有兼容的包。
清理重建项目
执行以下操作彻底清理并重建项目,消除缓存导致的依赖不一致:- 删除项目根目录下的
bin和obj文件夹 - 在终端运行命令:
dotnet clean - 恢复依赖:
dotnet restore - 重新构建:
dotnet build
- 删除项目根目录下的
确认目标框架配置
检查项目.csproj文件中的<TargetFramework>节点,确保已设置为net9.0:<TargetFramework>net9.0</TargetFramework>检查本地.NET SDK版本
在终端运行dotnet --version,确认已安装.NET9 SDK。如果未安装,前往微软官网下载并安装对应版本的SDK。排查第三方依赖兼容性
部分第三方NuGet包可能尚未适配.NET9,会间接引用.NET8版本的Microsoft.AspNetCore.Mvc.Core。运行dotnet list package --include-transitive命令查看所有依赖的版本信息,定位到引用旧版本的第三方包:- 若该包有.NET9兼容版本,直接升级;
- 若无兼容版本,可暂时降级该包(业务允许的情况下),或寻找替代包;
- 也可以等待第三方发布适配.NET9的版本。
验证发布配置(若发布后出现问题)
如果是发布后触发的错误,检查发布配置:- 确认发布目标框架选择的是
.NET 9.0; - 避免启用“单个文件发布”等可能破坏Blazor WebAssembly依赖逻辑的选项。
- 确认发布目标框架选择的是
内容的提问来源于stack exchange,提问作者user3552264
相关产品推荐
相关产品推荐

