Comportement de ShowPrintDialog dans IronPrint (Post-2024.9)

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

ShowPrintDialog et ShowPrintDialogAsync ne lancent plus d'exception lorsqu'ils sont appelés sur un framework cible non pris en charge. À partir de la version 2024.9, ils enregistrent un avertissement et se replient sur PrintAsync() à la place.

Avant ce changement, appeler l'une ou l'autre méthode sans un TargetFramework compatible générait l'erreur suivante :

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)'

Les méthodes de boîte de dialogue nécessitent un composant d'interface utilisateur, qui n'est pas disponible sous les cibles .NET Core ou .NET Standard simples. Les versions antérieures traitaient cela comme une défaillance sévère et déclenchaient une exception. L'exception était perturbatrice à l'exécution, donc le comportement a été changé délibérément dans 2024.9.

Solution

Le retour en arrière est automatique, mais vous pouvez contrôler quel chemin s'exécute en choisissant le bon target.

1. Comptez sur le retour en arrière automatique

Sur un framework non pris en charge, l'appel enregistre désormais un avertissement et se redirige vers PrintAsync() au lieu de déclencher une exception. Le code existant continue de s'exécuter sans planter, bien qu'aucune boîte de dialogue d'impression n'apparaisse.

AvertissementLe retour en arrière s'imprime sans boîte de dialogue. Les utilisateurs ne voient pas de demande d'impression sur des cibles non prises en charge, donc ne comptez pas sur l'affichage de la boîte de dialogue sauf si vous ciblez un framework d'interface utilisateur.

2. Ciblez un framework capable d'interface utilisateur pour la boîte de dialogue

Pour obtenir la véritable boîte de dialogue d'impression, construisez contre une cible spécifique au système d'exploitation qui inclut le support de l'interface utilisateur :

<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

Avec l'un de ces frameworks en place, ShowPrintDialog et ShowPrintDialogAsync affichent la boîte de dialogue comme prévu.

Curtis Chau
Rédacteur technique

Curtis Chau détient un baccalauréat en informatique (Université de Carleton) et se spécialise dans le développement front-end avec expertise en Node.js, TypeScript, JavaScript et React. Passionné par la création d'interfaces utilisateur intuitives et esthétiquement plaisantes, Curtis aime travailler avec des frameworks modernes ...

Lire la suite
Prêt à commencer?
Nuget Téléchargements 44,051 | Version : 2026.7 vient de sortir
Still Scrolling Icon

Vous faites encore défiler ?

Vous voulez une preuve rapidement ? PM > Install-Package IronPrint
exécuter un échantillon regarder votre document sortir de l'imprimante.