Verhalten der ShowPrintDialog in IronPrint (Post-2024.9)

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

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

WarnungDas 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:

<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

Mit einem dieser Frameworks zeigen ShowPrintDialog und ShowPrintDialogAsync den Dialog wie erwartet an.

Curtis Chau
Technischer Autor

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

Weiterlesen
Bereit anzufangen?
Nuget Downloads 44,051 | Version: 2026.7 gerade veröffentlicht
Still Scrolling Icon

Scrollst du immer noch?

Sie brauchen schnell einen Beweis? PM > Install-Package IronPrint
Führen Sie ein Beispiel aus und beobachten Sie, wie Ihr Dokument auf dem Drucker ausgegeben wird.