.Net Standard 2.0项目Bitmap引用错误:是否支持System.Drawing?求替代方案
.NET Standard 2.0 中 System.Drawing 的支持问题与替代方案
是否支持 System.Drawing?
.NET Standard 2.0本身不包含System.Drawing相关的API。因为System.Drawing依赖Windows平台的GDI+,属于特定平台的组件,而.NET Standard是跨平台的API规范,不会内置这类平台专属的依赖,这就是你遇到“Bitmap类型引用找不到”错误的原因。
可用替代方案
- System.Drawing.Common NuGet包:微软官方推出的兼容包,专门为.NET Standard/.NET Core项目提供System.Drawing的兼容实现。可以通过NuGet命令安装:
Install-Package System.Drawing.Common,或者在Visual Studio的NuGet包管理器中搜索安装。注意:这个包在Windows环境下使用无问题,但非Windows平台(Linux、macOS)在后续.NET版本中有使用限制,不过针对.NET Standard 2.0项目,Windows环境下完全可用。 - ImageSharp:纯.NET实现的跨平台图像处理库,完全脱离平台依赖,完美支持.NET Standard 2.0。它提供了替代Bitmap的图像类型(如
Image<Rgba32>),API设计更简洁现代,支持裁剪、缩放、格式转换等常用图像处理操作。 - SkiaSharp:基于Google Skia引擎的跨平台图形库,支持.NET Standard 2.0,除了基础的图像编辑,还能处理复杂的2D渲染、文本排版等场景,适合对图形绘制有更高要求的项目。
内容的提问来源于stack exchange,提问作者Jess
相关产品推荐
相关产品推荐

