MigraDoc и .NET Core 2.0 - PullRequest
       30

MigraDoc и .NET Core 2.0

0 голосов
/ 04 июля 2018

Я сделал библиотеку классов для PDF-генерации. Это реализовано с использованием PDFshart-MigraDoc (базовый пакет *). Сама библиотека классов создана с использованием .NET Standard в качестве целевой платформы.

Я могу использовать библиотеку классов в классических проектах C # (например, WinForms), но если я пытаюсь использовать ее с .NET Core 2.0, я получаю следующую ошибку:

Не удалось загрузить файл или сборку 'System.Drawing.Common, Версия = 0.0.0.0, Культура = нейтральная, PublicKeyToken = xxxx '. Система не могу найти указанный файл.

Я предполагаю, что причиной этого может быть то, что MigraDoc использует System.Drawing в своей реализации, которая (насколько я знаю) не поддерживается платформой .NET Core.

Однако это на самом деле не решает мою проблему, а именно то, что мне нужна библиотека классов для работы на всех платформах .NET. Я попытался включить пакет NuGet CoreCompat.System.Drawing , основываясь на совете от этого поста . Но это не помогло, вероятно, потому что MigraDoc все еще пытается использовать «оригинальную» библиотеку System.Drawing.

Есть ли способ заставить мою библиотеку классов работать на .NET Core? Или мне не повезло ...?

Примечание. Пакет MigraDoc Core не имеет ничего общего с .NET Core Framework. Столкновение имен - просто совпадение.

Ответы [ 2 ]

0 голосов
/ 08 марта 2019

Я нашел порт для PDFSharp & MigraDoc здесь, на github , который использует System.Drawing.Common и работает с .Net Core.

У меня было то же самое, и оно полностью заработало.

Примечание: Возможно, вам потребуется добавить System.Drawing.Common Пакет Nuget в ваш проект .Net Core.

0 голосов
/ 04 июля 2018

Пакеты MigraDoc / PDFsharp Core были созданы задолго до анонса .NET Core. «Ядро» имеет другое значение для этих пакетов MigraDoc, и они используют System.Drawing.

Это не ошибка, что пакет Core использует System.Drawing.

Существуют сторонние порты PDFsharp для .NET Core, подобные этому:
https://github.com/groege/PdfSharpCore
Может быть, вам подойдет один из этих портов.

Возможно, есть переносимые замены для System.Drawing.

...