System.Drawing is not supported on this platform

3 篇文章 0 订阅
2 篇文章 0 订阅

在跨平台编程中很有可能会遇到一些库执行不正确的问题,比如,我在用NuGet引入库的时候就遇到了类似问题。我引入System.Drawing.Common.dll到UWP工程中,编码的时候并没有报错,但是运行时就出错了:System.Drawing is not supported on this platform

刚开始的时候,我以为是我引入的方式不对,检查后没有什么问题。网上有人说是自动引入出了问题,手动引入了C:\Users\用户名\.nuget\packages\system.drawing.common\4.7.0\runtimes\win\lib\netcoreapp2.0,问题就解决了。对此就我个人观点并不赞同!我感觉这个首先要看你创建的是什么样的工程不是?你创建一个.net core的工程,这样处理,可能能运行。我这里创建的是一个UWP的工程,这就有点牵强。而且这里直接引用的是runtime相关的,总觉得哪里不对啊。

最后我在官方网站上查到,UWP目前根本就不支持System.Drawing这个命名空间,而System.Drawing在程序集System.Drawing.Common.dll中,所以要使用System.Drawing就需要引入这个程序集。但是UWP平台它不支持呀,这样一点毛病都没有了!

要解决问题就要么需求第三方库的支持,要么自己架构一个中间层,完成类似功能。就我所知,目前暂时没有完美的解决方案。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值