Comportamento ShowPrintDialog no IronPrint (Pós-2024.9)
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.
2. Direcione para um Framework com Capacidade de UI para o Diálogo
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>
Com um desses frameworks, ShowPrintDialog e ShowPrintDialogAsync exibem o diálogo como esperado.

