IRONSOFTWAREHOME

IronPrint on macOS with .NET 8 (Apple Silicon)

Curtis Chau
Curtis Chau
Updated: 29 czerwca 2026

Uruchamianie IronPrint w aplikacji konsolowej .NET 8 na macOS z Apple Silicon może zakończyć się niepowodzeniem podczas kompilacji z powodu brakujących natywnych bibliotek, a Printer.GetPrinterNamesAsync() rzuca wyjątek w czasie wykonywania.

System.PlatformNotSupportedException: System.Drawing.Common is not supported on this platform.
Text

macOS nie dostarcza libgdiplus, implementacji GDI+, która jest zależna od IronPrint i System.Drawing, a docelowy net8.0 nigdy nie włącza macOS-specyficznych API platformy. Oba braki muszą zostać zamknięte.

Rozwiązanie

1. Zainstaluj natywną bibliotekę GDI+

Zainstaluj libgdiplus za pomocą Homebrew, aby GDI+ wsparcie, które Windows udostępnia domyślnie, było dostępne na macOS:

brew install mono-libgdiplus
SHELL

Bez tej biblioteki, System.Drawing nie ma żadnego natywnego zaplecza do wywołania.

2. Wskaż macOS Framework

Wskaż Twój .csproj na macOS-specyficzny framework zamiast zwykłego net8.0:

<TargetFramework>net8.0-macos</TargetFramework>
XML

To mówi .NET, aby używał macOS platfomowych API zamiast cross-platformowych starycznych.

Ostrzeżenie: net8.0-macos nie jest częścią domyślnych szablonów aplikacji konsolowej. Zainstaluj obciążenie macOS lub zacznij od szablonu aplikacji macOS, aby uzyskać wstępnie skonfigurowane wsparcie.

Kompletny plik projektu wygląda tak:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net8.0-macos</TargetFramework>
    <Nullable>enable</Nullable>
    <UseSystemDrawing>true</UseSystemDrawing>
  </PropertyGroup>
</Project>
XML

3. Użyj zgodnego API drukowania

Na macOS wywołuj ShowPrintDialogAsync() dla operacji drukowania zamiast polegać na ścieżkach drukowania tylko w Windows.

Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podręczników.

...
Czytaj więcej

Gotowy, aby rozpocząć?

Nuget Downloads 46,090Wersja:2026.9właśnie wydany

Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta
Biblioteka C# NuGet dla plików PDF
Zainstaluj za pomocą NuGet

Wersja: 2026.9

PM > Install-Package IronPrint
nuget.org/packages/IronPrint/
  1. W Eksploratorze Rozwiązań, kliknij prawym przyciskiem Myszy na Odwołania, Zarządzaj pakietami NuGet
  2. Wybierz Przeglądaj i wyszukaj "IronPrint"
  3. Wybierz pakiet i zainstaluj
DLL PDF dla C#
Pobierz DLL

Wersja: 2026.9

  1. Pobierz i rozpakuj IronPrint do takiej lokalizacji jak ~/Libs w katalogu Twojego rozwiązania
  2. W Eksploratorze rozwiązań Visual Studio kliknij prawym przyciskiem na Odwołania. Wybierz Przeglądaj i wybierz "IronPrint.dll"

Licencje od $999

Key in blue circle

Uzyskaj natychmiast swój darmowy 30-dniowy Klucz Testowy.

Your trial license will be sent to your email address

Brak ograniczeń. 100% dostępności. Bez karty kredytowej.

bullet_checkedNie wymaga karty kredytowej ani tworzenia kontaBrak ograniczeń. 100% dostępności. Bez karty kredytowej.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Zarezerwuj swoje darmowe Demo na żywo
Booking Badge

Zaufane przez miliony inżynierów na całym świecie

Logotypy klientów Iron Software
Otrzymaj swoje Konsultacja Bez Zobowiązań
Wypełnij poniższy formularz lub wyślij e-mail na sales@ironsoftware.com
Twoje dane zawsze będą utrzymywane w tajemnicy.
Zaufane przez miliony inżynierów na całym świecie
Logotypy klientów Iron Software
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta