# IronPrint'te ShowPrintDialog Davranışı (2024.9 Sonrası)
`ShowPrintDialog` ve `ShowPrintDialogAsync`, desteklenmeyen bir hedef çerçevesinde çağrıldığında artık bir istisna fırlatmıyor. `2024.9` sürümünden itibaren, bir uyarı kaydediyor ve bunun yerine `PrintAsync()`'ye dönüş yapıyor.
Bu değişiklikten önce, uyumlu bir `TargetFramework` olmadan her iki yöntemi çağırmak aşağıdaki hatayı veriyordu:
```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)'
```
Diyalog metodlarının bir UI bileşenine ihtiyacı vardır; bu, düz .NET Çekirdeği veya .NET Standard hedeflerinde mevcuttur değil. Önceki yapılar bunu bir sert hata olarak değerlendirdi ve attı. İstisna çalıştırma zamanında kesintiye neden olduğundan, davranış `2024.9`'da kasıtlı olarak değiştirildi.
## Çözüm
Geriye dönük kayıta kalıcıdır, ancak doğru yolu seçerek hangi yolun çalışacağını kontrol edebilirsiniz.
### 1. Otomatik Geri Dönüş Rely On
Desteklenmeyen bir çerçevede, çağrı artık bir uyarı kaydediyor ve atmak yerine `PrintAsync()`'ye yönlendiriyor. Mevcut kod bir çökme olmadan çalışmaya devam eder, ancak herhangi bir yazdırma diyaloğu görünmez.
[[w:(Geriye dönüş diyaloğsuz olarak yazdırır. Kullanıcılar, desteklenmeyen hedeflerde yazdırma istemi görmezler, bu yüzden bir UI çerçevesini hedeflemedikçe diyaloğun gösterileceğine bağımlı olmayın.)]]
### 2. Diyalog için UI-Uygun Çerçeveyi Hedefleyin
Gerçek yazdırma diyalogunu almak için UI desteğini içeren bir işletim sistemine özgü hedefe karşı derleyin:
```xml
<TargetFrameworks>net462;net472;net7.0-windows;net7.0-macos;net7.0-maccatalyst;net7.0-android</TargetFrameworks>
```
Bu çerçevelerden biri var olduğunda, `ShowPrintDialog` ve `ShowPrintDialogAsync` beklenildiği gibi iletişim kutusunu gösteriyor.
ShowPrintDialog ve ShowPrintDialogAsync, desteklenmeyen bir hedef çerçevesinde çağrıldığında artık bir istisna fırlatmıyor. 2024.9 sürümünden itibaren, bir uyarı kaydediyor ve bunun yerine PrintAsync()'ye dönüş yapıyor.
Bu değişiklikten önce, uyumlu bir TargetFramework olmadan her iki yöntemi çağırmak aşağıdaki hatayı veriyordu:
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
Diyalog metodlarının bir UI bileşenine ihtiyacı vardır; bu, düz .NET Çekirdeği veya .NET Standard hedeflerinde mevcuttur değil. Önceki yapılar bunu bir sert hata olarak değerlendirdi ve attı. İstisna çalıştırma zamanında kesintiye neden olduğundan, davranış 2024.9'da kasıtlı olarak değiştirildi.
Çözüm
Geriye dönük kayıta kalıcıdır, ancak doğru yolu seçerek hangi yolun çalışacağını kontrol edebilirsiniz.
1. Otomatik Geri Dönüş Rely On
Desteklenmeyen bir çerçevede, çağrı artık bir uyarı kaydediyor ve atmak yerine PrintAsync()'ye yönlendiriyor. Mevcut kod bir çökme olmadan çalışmaya devam eder, ancak herhangi bir yazdırma diyaloğu görünmez.
Uyarı: Geriye dönüş diyaloğsuz olarak yazdırır. Kullanıcılar, desteklenmeyen hedeflerde yazdırma istemi görmezler, bu yüzden bir UI çerçevesini hedeflemedikçe diyaloğun gösterileceğine bağımlı olmayın.
2. Diyalog için UI-Uygun Çerçeveyi Hedefleyin
Gerçek yazdırma diyalogunu almak için UI desteğini içeren bir işletim sistemine özgü hedefe karşı derleyin:
Curtis Chau, Bilgisayar Bilimleri alanında Lisans Derecesine (Carleton Üniversitesi) sahip ve Node.js, TypeScript, JavaScript ve React konularında uzmanlaşmış ön uç geliştirmeyle ilgileniyor. Sezgisel ve estetik açıdan hoş kullanıcı arayüzleri oluşturma tutkunu, Curtis modern çerçevelerle çalışmayı ve iyi yapılandırılmış, görsel olarak çekici kılavuzlar oluşturmayı seviyor.