IRONSOFTWAREHOME

IronPrint on macOS with .NET 8 (Apple Silicon)

Curtis Chau
Curtis Chau
Updated: 29 de junho de 2026

Executar IronPrint em um aplicativo de console .NET 8 no macOS Apple Silicon pode falhar na hora da compilação com bibliotecas nativas ausentes, e Printer.GetPrinterNamesAsync() lança em tempo de execução.

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

O macOS não vem com libgdiplus, a implementação GDI+ da qual IronPrint e System.Drawing dependem, e um destino net8.0 simples nunca habilita as APIs de plataforma específicas do macOS. Ambas as lacunas precisam ser fechadas.

Solução

1. Instale a Biblioteca Nativa GDI+

Instale libgdiplus através do Homebrew para que o suporte GDI+ que o Windows fornece por padrão esteja disponível no macOS:

brew install mono-libgdiplus
SHELL

Sem esta biblioteca, System.Drawing não tem backend nativo para chamar.

2. Direcione ao Framework do macOS

Aponte seu .csproj ao framework de destino específico do macOS em vez de um net8.0 simples:

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

Isso diz ao .NET para usar as APIs de plataforma do macOS em vez dos stubs multiplataforma.

Aviso: net8.0-macos não faz parte dos templates padrão de aplicativos de console. Instale a carga de trabalho macOS ou comece a partir de um template de aplicativo macOS para obter suporte pré-configurado.

Um arquivo de projeto completo se parece com isso:

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

3. Use uma API de Impressão Compatível

No macOS, chame ShowPrintDialogAsync() para operações de impressão em vez de depender de caminhos de impressão apenas para Windows.

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais bem estruturados e visualmente atraentes.

...
Leia mais

Pronto para começar?

Nuget Downloads 46,090Versão:2026.9recém-lançado

Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.
Não é necessário cartão de crédito nem criação de conta.
Biblioteca NuGet C# para PDF
Instalar com NuGet

Versão: 2026.9

PM > Install-Package IronPrint
nuget.org/packages/IronPrint/
  1. No Solution Explorer, clique com o botão direito do mouse em Referências e selecione Gerenciar Pacotes NuGet.
  2. Selecione Procurar e pesquise "IronPrint".
  3. Selecione o pacote e instale.
DLL de PDF em C#
Baixar DLL

Versão: 2026.9

  1. Baixe e descompacte o IronPrint em um local como ~/Libs dentro do diretório da sua solução.
  2. No Solution Explorer do Visual Studio, clique com o botão direito do mouse em Referências. Selecione Procurar e digite "IronPrint.dll".

Licenças a partir de US$ 749

Key in blue circle

Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.

Your trial license will be sent to your email address

Sem limitações. 100% desbloqueado. Sem cartão de crédito.

bullet_checkedNão é necessário cartão de crédito nem criação de conta.Sem limitações. 100% desbloqueado. Sem cartão de crédito.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Agende sua demonstração ao vivo gratuita.
Booking Badge

Aprovado por milhões de engenheiros em todo o mundo.

Logotipos dos clientes da Iron Software
Agende sua consulta sem compromisso.
Preencha o formulário abaixo ou envie um e-mail para sales@ironsoftware.com
Os seus dados serão sempre mantidos em sigilo.
Aprovado por milhões de engenheiros em todo o mundo.
Logotipos dos clientes da Iron Software
Obtenha sua chave de avaliação gratuita de 30 dias instantaneamente.
Não é necessário cartão de crédito nem criação de conta.