# Verhalten der ShowPrintDialog in IronPrint (Post-2024.9)
`ShowPrintDialog` und `ShowPrintDialogAsync` werfen keine Ausnahme mehr, wenn sie auf einem nicht unterstützten Ziel-Framework aufgerufen werden. Ab Version `2024.9` loggen sie eine Warnung und fallen stattdessen auf `PrintAsync()` zurück.
Vor dieser Änderung führte der Aufruf einer der Methoden ohne ein kompatibles `TargetFramework` zu folgendem Fehler:
```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)'
```
Die Dialogmethoden benötigen eine UI-Komponente, die unter einfachen .NET Core- oder .NET Standard-Zielen nicht verfügbar ist. Frühere Builds sahen dies als harten Fehler an und warfen ihn. Die Ausnahme war zur Laufzeit störend, daher wurde das Verhalten absichtlich in `2024.9` geändert.
## Lösung
Das Fallback ist automatisch, aber Sie können steuern, welche aufgerufen wird, indem Sie das richtige Ziel auswählen.
### 1. Verlassen Sie sich auf das Automatische Fallback
Auf einem nicht unterstützten Framework loggt der Aufruf jetzt eine Warnung und leitet zu `PrintAsync()` um, anstatt eine Ausnahme zu werfen. Vorhandener Code läuft weiter, ohne abzustürzen, obwohl kein Druckdialog erscheint.
[[w:(Das Fallback druckt ohne Dialog. Benutzer sehen keine Druckaufforderung auf nicht unterstützten Zielen, verlassen sich daher nicht darauf, dass das Dialog angezeigt wird, es sei denn, Sie zielen auf ein UI-Framework.)]]
### 2. Zielen Sie auf ein UI-fähiges Framework für den Dialog
Um den tatsächlichen Druckdialog zu erhalten, kompilieren Sie gegen ein OS-spezifisches Ziel, das UI-Unterstützung umfasst:
```xml
<TargetFrameworks>net462;net472;net7.0-windows;net7.0-macos;net7.0-maccatalyst;net7.0-android</TargetFrameworks>
```
Mit einem dieser Frameworks zeigen `ShowPrintDialog` und `ShowPrintDialogAsync` den Dialog wie erwartet an.
ShowPrintDialog und ShowPrintDialogAsync werfen keine Ausnahme mehr, wenn sie auf einem nicht unterstützten Ziel-Framework aufgerufen werden. Ab Version 2024.9 loggen sie eine Warnung und fallen stattdessen auf PrintAsync() zurück.
Vor dieser Änderung führte der Aufruf einer der Methoden ohne ein kompatibles TargetFramework zu folgendem Fehler:
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
Die Dialogmethoden benötigen eine UI-Komponente, die unter einfachen .NET Core- oder .NET Standard-Zielen nicht verfügbar ist. Frühere Builds sahen dies als harten Fehler an und warfen ihn. Die Ausnahme war zur Laufzeit störend, daher wurde das Verhalten absichtlich in 2024.9 geändert.
Lösung
Das Fallback ist automatisch, aber Sie können steuern, welche aufgerufen wird, indem Sie das richtige Ziel auswählen.
1. Verlassen Sie sich auf das Automatische Fallback
Auf einem nicht unterstützten Framework loggt der Aufruf jetzt eine Warnung und leitet zu PrintAsync() um, anstatt eine Ausnahme zu werfen. Vorhandener Code läuft weiter, ohne abzustürzen, obwohl kein Druckdialog erscheint.
Warnung: Das Fallback druckt ohne Dialog. Benutzer sehen keine Druckaufforderung auf nicht unterstützten Zielen, verlassen sich daher nicht darauf, dass das Dialog angezeigt wird, es sei denn, Sie zielen auf ein UI-Framework.
2. Zielen Sie auf ein UI-fähiges Framework für den Dialog
Um den tatsächlichen Druckdialog zu erhalten, kompilieren Sie gegen ein OS-spezifisches Ziel, das UI-Unterstützung umfasst:
Curtis Chau hat einen Bachelor-Abschluss in Informatik von der Carleton University und ist spezialisiert auf Frontend-Entwicklung mit Expertise in Node.js, TypeScript, JavaScript und React. Leidenschaftlich widmet er sich der Erstellung intuitiver und ästhetisch ansprechender Benutzerschnittstellen und arbeitet gerne mit modernen Frameworks sowie der Erstellung gut strukturierter, optisch ansprechender Handbücher.