首页 新闻 会员 周边

System.Drawing.Common is not supported on this platform

0
[待解决问题]

net core6.0在centos7环境下报错,已经配置了"System.Drawing.EnableUnixSupport": true

因为有Spire.Doc组件使用了System.Drawing;求救大神们,怎么处理呢,没法更换Spire,只想兼容

代码小六的主页 代码小六 | 初学一级 | 园豆:12
提问于:2023-06-14 21:18
< >
分享
所有回答(4)
0

确认是在 runtimeconfig.template.json 中添加的 "System.Drawing.EnableUnixSupport": true 吗?

dudu | 园豆:30943 (高人七级) | 2023-06-14 21:59
0

在 .NET Core 6.0 中使用 System.Drawing 组件时,可能会遇到平台不支持的问题。这是因为 System.Drawing 组件是 .NET Framework 特有的组件,而不是 .NET Core 特有的组件。

要解决这个问题,有几种方法可以尝试:

1.尝试使用替代方案:Spire.Doc 使用了 System.Drawing,你可以尝试使用其他替代方案来处理文档。例如,你可以考虑使用 OpenXML 或 LibreOffice。

2.尝试使用linux版.NET Framework(如mono):如果你必须在 CentOS 7 上运行你的应用程序,你可以尝试使用 .NET Framework 运行时。这样就可以使用 System.Drawing 组件了。但是,这种方法可能会导致其他问题,例如与其他 .NET Core 组件不兼容。

3.尝试使用 .NET Core 的 XAML 支持:如果你需要使用 System.Drawing 组件,你可以尝试使用 .NET Core 的 XAML 支持。这种方法需要使用 .NET MAUI(Multi-platform App UI)框架。你可以参考 Microsoft 的文档来了解更多信息。

4.保持使用 Windows 环境:如果可能的话,将应用程序部署到 Windows 环境中,因为 System.Drawing.Common 在 Windows 上是受支持的。

5.使用 Docker 镜像:将应用程序容器化,并使用基于 Windows 的 Docker 镜像来运行应用程序。这样可以在 CentOS 7 环境中模拟 Windows 环境,并支持 System.Drawing.Common。

lanedm | 园豆:2378 (老鸟四级) | 2023-06-15 08:44
0

请问博主怎么解决的

二震 | 园豆:114 (初学一级) | 2023-11-01 16:58
0

改用其他开源组件,System.Drawin已经不支持linux环境了

代码小六 | 园豆:12 (初学一级) | 2024-03-20 20:40
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册