# Comportement de ShowPrintDialog dans IronPrint (Post-2024.9)
`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 :
```txt
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.
[[w:(Le 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 :
```xml
<TargetFrameworks>net462;net472;net7.0-windows;net7.0-macos;net7.0-maccatalyst;net7.0-android</TargetFrameworks>
```
Avec l'un de ces frameworks en place, `ShowPrintDialog` et `ShowPrintDialogAsync` affichent la boîte de dialogue comme prévu.
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 TargetFrameworkse.g. net462; net472; net7.0-windows; net7.0-macos; net7.0-maccatalyst; net7.0-android)'
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)'
Text
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.
Avertissement: Le 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 :
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 et créer des manuels bien structurés et visuellement attrayants.