Comportamento ShowPrintDialog no IronPrint (Pós-2024.9)

This article was translated from English: Does it need improvement?
Translated
View the article in English

ShowPrintDialog e ShowPrintDialogAsync não lançam mais uma exceção quando chamados em um framework de destino não suportado. A partir da versão 2024.9, eles registram um aviso e retrocedem para PrintAsync() em vez disso.

Antes desta mudança, chamar qualquer método sem um TargetFramework compatível gerava o seguinte erro:

System.AggregateException: 'One or more errors occurred.
(Please try Print/PrintAsync since ShowPrintDialog/ShowPrintDialogAsync in NET Core or NET Standard,
it required UI component so please set more specific OS TargetFrameworks
e.g. net462; net472; net7.0-windows; net7.0-macos; net7.0-maccatalyst; net7.0-android)'

Os métodos de diálogo precisam de um componente de UI, que está indisponível em alvos .NET Core ou .NET Standard. Builds anteriores tratavam isso como um falha crítica e lançavam erro. A exceção era disruptiva em tempo de execução, então o comportamento foi alterado deliberadamente em 2024.9.

Solução

O retrocesso é automático, mas você pode controlar qual caminho é executado escolhendo o alvo certo.

1. Confie no Retrocesso Automático

Em um framework não suportado, a chamada agora registra um aviso e direciona para PrintAsync() em vez de lançar erro. O código existente continua rodando sem travar, embora nenhum diálogo de impressão apareça.

AvisoO retrocesso imprime sem diálogo. Usuários não veem prompt de impressão em alvos não suportados, então não dependa que o diálogo seja mostrado a menos que você direcione para um framework de UI.

Para obter o diálogo de impressão real, construa contra um alvo específico do SO que inclua suporte de UI:

<TargetFrameworks>net462;net472;net7.0-windows;net7.0-macos;net7.0-maccatalyst;net7.0-android</TargetFrameworks>
<TargetFrameworks>net462;net472;net7.0-windows;net7.0-macos;net7.0-maccatalyst;net7.0-android</TargetFrameworks>
XML

Com um desses frameworks, ShowPrintDialog e ShowPrintDialogAsync exibem o diálogo como esperado.

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 ...

Leia mais
Pronto para começar?
Nuget Baixar 44,051 | Versão: 2026.7 recém-lançado
Still Scrolling Icon

Ainda está rolando a tela?

Quer provas rápidas? PM > Install-Package IronPrint
executar um exemplo Veja seu documento chegar à impressora.