求助:缺少适用于browser-wasm的Microsoft.AspNetCore.App运行时包
解决方案
1. 修正项目引用逻辑
- Blazor WASM 客户端项目(almareaEFWeb.Server)不能直接引用Entity Framework Core项目(almareaEFCore)。浏览器环境的WASM客户端不支持服务器端的数据库访问组件,也无法兼容
Microsoft.AspNetCore.App这类服务器运行时依赖。 - 仅保留Blazor WASM 服务器项目(almareaEFWeb.Client)对almareaEFCore的引用,客户端通过调用服务器提供的API接口获取数据,不要直接操作EF Core。
2. 移除客户端项目的无效依赖
- 右键客户端项目 → 管理NuGet程序包,找到
Microsoft.EntityFrameworkCore相关包或almareaEFCore项目引用,点击卸载。 - 或者直接编辑客户端项目的
.csproj文件,删除类似以下的引用节点:<ProjectReference Include="..\almareaEFCore\almareaEFCore.csproj" />
3. 调整客户端项目的运行时配置
打开客户端项目的.csproj文件,确保配置符合WASM运行要求,移除不必要的ASP.NET Core依赖:
<PropertyGroup> <TargetFramework>net7.0</TargetFramework> <RuntimeIdentifier>browser-wasm</RuntimeIdentifier> <UseBlazorWebAssembly>true</UseBlazorWebAssembly> <DisableImplicitFrameworkReferences>true</DisableImplicitFrameworkReferences> </PropertyGroup>
4. 清理并修复NuGet包警告
- 打开命令行,运行
dotnet nuget locals all --clear清理NuGet缓存 - 右键解决方案 → 清理解决方案
- 右键解决方案 → 还原NuGet包
- 重新生成整个解决方案
补充说明
Blazor WASM客户端运行在浏览器中,只能使用兼容browser-wasm的.NET库。EF Core是服务器端数据访问组件,必须放在Server项目中,客户端通过HTTP请求与服务器交互,这才是Blazor WASM的标准架构模式,也能从根源上避免这类运行时兼容性错误。
内容的提问来源于stack exchange,提问作者Martina
相关产品推荐
相关产品推荐

