MigraDoc和.NET Core 2.0

问题描述 投票:1回答:2

我已经为PDF生成了一个类库。它是使用PDFshart-MigraDoc(核心包*)实现的。类库本身是用.NET Standard作为其目标框架。

我可以在经典的C#项目(如WinForms)中使用类库,但如果我尝试将它与.NET Core 2.0一起使用,我会收到以下错误:

无法加载文件或程序集'System.Drawing.Common,Version = 0.0.0.0,Culture = neutral,PublicKeyToken = xxxx'。该系统找不到指定的文件。

我猜其原因可能是MigraDoc在其实现中使用了'System.Drawing',这是(据我所知).NET Core框架不支持的。

但是,这并没有真正解决我的问题,即我需要类库来适用于所有.NET框架。我试图根据this post的建议包含NuGet包CoreCompat.System.Drawing。但这没有效果,可能是因为MigraDoc仍在尝试使用“原始”System.Drawing库。

有什么方法可以让我的类库可以用于.NET Core吗?或者我运气不好......?

注意:MigraDoc核心软件包与.NET核心框架无关。名字的冲突只是巧合。

c# .net-core system.drawing migradoc
2个回答
1
投票

我找到了PDFSharp & MigraDoc here on github的一个端口,它使用System.Drawing.Common并与.Net Core一起工作。

我也一样,完全正常工作。

注意:您可能需要在.Net Core项目中添加System.Drawing.Common Nuget Package


0
投票

MigraDoc / PDFsharp核心软件包是在.NET Core发布之前很久就创建的。 “Core”对于那些MigraDoc包有不同的含义,它们确实使用System.Drawing。

这不是Core包使用System.Drawing的错误。

对于.NET Core,有第三方端口的PDFsharp,如下所示: https://github.com/groege/PdfSharpCore 也许其中一个端口是您的选择。

也许System.Drawing有便携式替代品。

© www.soinside.com 2019 - 2024. All rights reserved.