You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

添加类库项目引用后Blazor 8 WebApp客户端构建失败求助

问题描述

使用带Identity Authentication、Server及WebAssembly交互渲染模式的Blazor 8(.NET 8.0)WebApp模板开发项目,创建了外部类库存放服务端与客户端服务,客户端调用内部API、服务端调用仓储。但给客户端项目添加该类库的项目引用后,客户端构建失败,报错:

There was no runtime pack for Microsoft.AspNetCore.App available for the specified RunTimeIdentifier 'browser-wasm' in file Microsoft.NET.Sdk.FrameworkReferenceResolution.targets line 491

服务类库已安装的NuGet包如下:

Microsoft.AspNetCore.Components.WebAssembly
Microsoft.AspNetCore.Components.WebAssembly.Authentication
Newtonsoft.Json
失败原因及解决办法

核心原因

你的类库大概率使用了Microsoft.NET.Sdk.Web SDK(服务端Web项目专用SDK),而非适合类库的Microsoft.NET.Sdk或Microsoft.NET.Sdk.Razor(若类库包含Blazor组件)。Microsoft.NET.Sdk.Web会默认引入Microsoft.AspNetCore.App框架,而该框架没有适配browser-wasm运行时的包,导致客户端构建时找不到对应运行时依赖,触发报错。

另外,若类库的目标框架仅设置为服务端专属配置,或错误引用了服务端独有的依赖,也会引发此问题。

解决步骤

  • 修改类库的.csproj文件,将开头的SDK声明从<Project Sdk="Microsoft.NET.Sdk.Web">改为<Project Sdk="Microsoft.NET.Sdk">(普通类库)或<Project Sdk="Microsoft.NET.Sdk.Razor">(含Blazor组件的类库)。
  • 检查类库的目标框架配置,确保设置为兼容Blazor WASM的选项,比如net8.0或netstandard2.1,避免仅指定服务端可用的框架。
  • 清理类库中不必要的服务端专属依赖,确保所有引入的NuGet包都能在browser-wasm运行时环境正常工作。

内容的提问来源于stack exchange,提问作者JoeyD

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 02:37:22