MigraDoc dan .NET Core 2.0

Saya telah membuat perpustakaan kelas untuk pembuatan PDF. Ini diimplementasikan menggunakan PDFshart-MigraDoc (paket inti*). Pustaka kelasnya sendiri dibuat dengan .NET Standard sebagai kerangka targetnya.

Saya dapat menggunakan perpustakaan kelas dalam proyek C# klasik (seperti WinForms), tetapi jika saya mencoba menggunakannya dengan .NET Core 2.0, saya mendapatkan kesalahan berikut:

Tidak dapat memuat file atau rakitan 'System.Drawing.Common, Version=0.0.0.0, Culture=neutral, PublicKeyToken=xxxx'. Sistem tidak dapat menemukan berkas yang dicari.

Saya kira alasannya mungkin karena MigraDoc menggunakan 'System.Drawing' dalam implementasinya, yang (sejauh yang saya tahu) tidak didukung oleh kerangka .NET Core.

Namun, itu tidak benar-benar menyelesaikan masalah saya, yaitu saya memerlukan perpustakaan kelas agar berfungsi untuk semua kerangka .NET. Saya telah mencoba memasukkan paket NuGet CoreCompat.System.Drawing, berdasarkan saran dari postingan ini. Namun hal ini tidak membuahkan hasil, mungkin karena MigraDoc masih mencoba menggunakan pustaka System.Drawing "asli".

Apakah ada cara agar perpustakaan kelas saya berfungsi untuk .NET Core? Atau aku kurang beruntung...?

Catatan: Paket MigraDoc Core tidak ada hubungannya dengan .NET Core Framework. Bentrokan nama hanyalah sebuah kebetulan.


person Jakob Busk Sørensen    schedule 04.07.2018    source sumber
comment
Apakah Anda hanya menargetkan Windows atau platform lain juga?   -  person I liked the old Stack Overflow    schedule 04.07.2018
comment
Saat ini targetnya hanya Windows saja ya. Awalnya dibuat untuk proyek WinForms, tetapi bukan rekan saya, juga ingin menggunakannya dalam proyek .NET Core 2.0.   -  person Jakob Busk Sørensen    schedule 04.07.2018


Jawaban (2)


Saya menemukan port untuk PDFSharp & MigraDoc di sini di github yang menggunakanSystem.Drawing.Common dan berfungsi dengan .Net Core.

Saya memiliki hal yang sama dan membuatnya berfungsi sepenuhnya.

Catatan: Anda mungkin perlu menambahkan System.Drawing.Common Paket Nuget di proyek .Net Core Anda.

person Vikas Rana    schedule 08.03.2019

Paket MigraDoc/PDFsharp Core dibuat jauh sebelum .NET Core diumumkan. "Core" memiliki arti berbeda untuk paket MigraDoc tersebut dan mereka menggunakan System.Drawing.

Bukan bug yang digunakan paket Core System.Drawing.

Ada port PDFsharp pihak ketiga untuk .NET Core seperti ini:
https://github.com/groege/PdfSharpCore
Mungkin salah satu port ini bisa menjadi pilihan untuk Anda.

Mungkin ada pengganti portabel untuk System.Drawing.

person I liked the old Stack Overflow    schedule 04.07.2018
comment
Terima kasih atas jawaban anda. Saya seharusnya mencatat, bahwa saya sadar, bahwa MigraDoc Core sama sekali tidak terkait dengan .NET Core. Saya sedang mencari alternatif, yang tidak memerlukan penulisan ulang lengkap perpustakaan kelas saya. Saya akan mencoba beberapa port MigraDoc yang Anda sebutkan. Mengganti System.Drawing sepertinya tidak mungkin. - person Jakob Busk Sørensen; 04.07.2018