我用vs2022创建了一个Blazor Wasm + Ant Design + .NET 9项目,添加完引用和包之后,运行就报错了:Microsoft.AspNetCore.App 没有运行时包可用于指定的 RuntimeIdentifier“browser-wasm”。
我百度了很多,都说是引用的问题,但具体是哪一个出现的问题,一直没有找出来,哪位大佬有空可以帮我看看,源码仓库在这里:https://github.com/shenchuanchao/AutoPartsShop
应该是你项目引用的问题 只能引用“可被 WebAssembly 支持”的项目 你引用的类库是可以的 但是类库里面的包 不一定支持 Blazor WebAssembly 可能会出错的
我试了一下 如果不添加 AutoPartsShop.Infrastructure 和AutoPartsShop.Core两个类库引用 是正常运行的 添加了就会报错提醒
也许类库里面的包只支持服务器端
@摸鱼w: 谢谢



框架版本不匹配:主项目是 net9.0,类库是 net8.0
不兼容的包引用:AutoPartsShop.Infrastructure 引用了:
Microsoft.AspNetCore.Identity.EntityFrameworkCore
Microsoft.AspNetCore.Identity.UI
Microsoft.EntityFrameworkCore.SqlServer
这些包都是服务器端的,不能在浏览器中运行。
统一目标框架:所有项目应该使用相同的目标框架(net9.0)
分离客户端和服务器端逻辑:Blazor Wasm 不能直接引用服务器端包
使用 HTTP API:Blazor Wasm 应该通过 HTTP 调用与服务器通信,而不是直接访问数据库
谢谢,一开始用的时net9.0 报错之后,我又全部降低到net8.0,之后还是报错,确实是AutoPartsShop.Infrastructure 和AutoPartsShop.Core两个类库引用的问题,我已改使用HttpClient方式调用api项目,这样是可以的