我尝试在面向net46的.net core控制台应用程序中引用System.Drawing,但程序集不存在。根据MS,如果您使用dotnetcore,System.Drawing不可用。但如果您引用完整的.net framework,则应该能够使用它
这是我的项目. json
{
"version": "1.0.0-*",
"buildOptions": {
"emitEntryPoint": true
},
"dependencies": {
},
"frameworks": {
"net46": {
}
}
}
知道是什么问题吗
6条答案
按热度按时间gzjq41n41#
我知道这是旧的,但是现在有一个库的端口叫做
System.Drawing.Common
。试着用nuget安装那个。为了实现这一点,有一个名为
Windows Compatibility Pack
的元包。然而,这个元包包括了很多很多与Windows相关的API(作为包分发)。来源:https://developers.de/2018/01/22/how-to-use-system-drawing-in-net-core/
6qfn3psc2#
添加NuGet参考
Microsoft.Windows.Compatibility
注意:标记“包括预发布”
当然,只有在预发布包适合您的情况下,它才起作用。
46qrfjad3#
System.Drawing
不是ASP.NET的好选项如果你想要图形操作,我建议使用ImageSharp(https://github.com/JimBobSquarePants/ImageSharp)在.Net核心或ImageProcessor(http://imageprocessor.org/)/ ImageResizer(https://imageresizing.net/)在.Net框架
此外,如果您确实需要使用
System.Drawing
,请将project.json中的框架更改为netstandard1.6
,并添加依赖项"NETStandard.Library": "1.6.1"
66bbxpm54#
当您希望仅asp.net在.NET Full Framework上使用www.example.com核心时,可以引用旧类库,如下所示
pw9qyyiw5#
我可以用一个名为SkiaSharp的多平台库来替换System.Drawing,如果你在linux上运行,你也可以安装this nuget,这样你就不必手动安装依赖项了。
tp5buhyn6#
适用于.NET 6核心