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

如何在.NET 5中引用WindowsBase解决Freezable找不到的编译错误

问题解决方法

你遇到的编译错误根本原因是:.NET 5+ 中WPF相关类型(包括Freezable、BitmapFrame)不再通过单独的WindowsBase.dll分发,且.NET 5和.NET Framework的程序集架构不兼容,直接引用.NET Framework版本的WindowsBase.dll自然会报无效错误。

该类API属于WPF组件,仅支持Windows平台运行,对应解决步骤如下:

  • 第一步:修改你的类库项目文件(.csproj)
    将原有的目标框架配置改为Windows专属版本,同时开启WPF引用支持,示例配置如下:
<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <!-- 把原来的net5.0替换为net5.0-windows,指定运行平台为Windows -->
    <TargetFramework>net5.0-windows</TargetFramework>
    <!-- 开启WPF框架引用,自动引入.NET 5对应版本的WindowsBase等所有WPF依赖程序集 -->
    <UseWPF>true</UseWPF>
  </PropertyGroup>
</Project>
  • 第二步:重新加载项目并执行生成操作
    配置修改完成后不需要手动寻找任何dll文件,IDE会自动拉取匹配的WPF依赖,原先的frame.CopyPixels代码行即可正常编译通过。

如果你的类库需要跨平台使用,不能依赖WPF组件,可以替换图像处理方案:改用System.Drawing.Common包提供的位图处理API,该包同样支持.NET 5版本,仅需要通过Nuget安装对应包即可使用,无需依赖WPF框架。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 16:39:03