如何在VS Code中添加System.Drawing

3
我希望在我的项目中使用system.drawing,但我无法让它起作用。我已经找到了这个问题,但它只展示了如何添加SQLite.NET-PCL,如果我尝试以同样的方式添加System.Drawing,它不起作用。
这是我的project.json
{
"version": "1.0.0-*",
"buildOptions": {
  "debugType": "portable",
  "emitEntryPoint": true
},
"dependencies": {
},
"frameworks": {
  "net461": {
    "dependencies": {
      "OpenTK": "2.0.0*"
    }
  }
},
"runtimes": {
  "win7-x64": {},
  "win10-x64": {}
}
}

如果我尝试添加System.Drawing,它会自动完成为"System.Drawing" : "1.0.0-beta004",这不适用于opentk。我正在尝试从OpenTK保存图像。有没有办法在VS code中使其工作?


1
“不工作”——最好的错误描述。 - Uwe Keim
1
System.Drawing只能在桌面版的.NET上工作。因此,它不能在VSCode支持的.NET Core项目中使用,您需要使用VS社区版。可能会有替代方案,但如果您不解释您想要实现什么,那么这只会是瞎猜。 - Hans Passant
@Uwe Keim 当我尝试在1.0.0-beta中使用它时,出现了以下错误:类型“Size”在未引用的程序集中定义。您必须向程序集“System.Drawing、Version=2.0.0.0、Culture=neutral、PublicKeyToken=b03f5f7f11d50a3a”添加引用。[net461] - Tygrak
@HansPassant 谢谢!我不知道那个。但是我仍然不明白为什么在使用net461框架时它不起作用?我正在尝试从OpenTK保存图像。我应该转换到VS社区版吗? - Tygrak
2个回答

9

这个问题让我花了一个小时的时间去解决。以下是对我有效的解决方案:

dotnet add package System.Drawing.Common

看起来 System.Drawing 不兼容 .NET Core,但是 Microsoft 发布了跨平台的 System.Drawing.Common 包来弥补这一点。

完整文章/来源请见: https://www.hanselman.com/blog/HowDoYouUseSystemDrawingInNETCore.aspx


0

我找到了库"CoreCompat.System.Drawing" : "1.0.0-beta006",它可以与OpenTK有点儿配合。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接