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

Blazor Server引用.NET Framework项目缺失依赖DLL问题求助

问题原因与解决方案

核心原因

  • PresentationCore是.NET Framework专属组件:它是WPF桌面应用的核心依赖,仅存在于Windows平台的.NET Framework运行时环境中。Blazor Server基于跨平台的.NET 6(.NET Core体系),这个运行时本身不包含PresentationCore,也不支持加载这类仅适配桌面环境的.NET Framework专属库。
  • System.ServiceModel的依赖体系差异:在.NET Framework里System.ServiceModel是内置组件,但.NET 6将其拆分到了独立的NuGet包中,默认不会自动引入,因此直接引用.NET Framework编写的Common库时,运行时找不到对应的实现。

WPF应用能正常执行是因为它本身基于.NET Framework运行,环境完全匹配,自然能找到这些依赖组件。

可行解决办法

  • 拆分Common项目:把依赖PresentationCore的WPF专属代码和通用业务逻辑拆分开,单独做一个适配WPF的类库;再新建一个目标框架为.NET Standard 2.0或.NET 6的通用类库(不含任何桌面专属依赖),让Blazor Server只引用这个通用类库。
  • 替换System.ServiceModel依赖:如果Common里用到了WCF相关功能,在Blazor Server项目中安装对应的NuGet包,比如System.ServiceModel.Primitives、System.ServiceModel.Http,用这些.NET 6兼容的包替代.NET Framework的内置组件。
  • 移除Blazor中的WPF专属逻辑:PresentationCore里的API多和桌面UI、图形渲染相关,Blazor Server的服务器端环境完全不支持这些功能,就算强行加载也会报错,所以必须确保Blazor调用的代码路径里完全没有这部分逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 15:15:38