Aracılığıyla paylaş


Hem WPF hem de WinForms'a başvuran uygulamaların MenuItem ve ContextMenu türlerini kesinleştirmesi gerekir

Derleme zamanı hatalarından kaçınmak için hem Windows Presentation Foundation (WPF) hem de Windows Forms'a (WinForms) başvuran uygulamaların artık MenuItem ve ContextMenu gibi belirli türleri ayırdetmesi gerekmektedir.

Sürüm kullanıma sunulmuştur

.NET 10

Önceki davranış

tr-TR: Daha önce, .NET Core 3.1'den .NET 9.0'a kadar, ContextMenu, DataGrid, DataGridCell, Menu, MenuItem, ToolBarve StatusBar türleri System.Windows.Controls ad alanında mevcut olmadığından System.Windows.Forms ad alanına çözümlenirdi.

<ImplicitUsings>enable</ImplicitUsings>
<UseWindowsForms>true</UseWindowsForms>
<UseWPF>true</UseWPF>

Yeni davranış

System.Windows.Forms ad alanındaki etkilenen türler, System.Windows.Controls ile System.Windows.Formsarasında belirsiz bir referans olduğunda derleme zamanı hatasına neden olur.

CS0104 'ContextMenu' is an ambiguous reference between 'System.Windows.Controls.ContextMenu' and 'System.Windows.Forms.ContextMenu'

Bozulan değişiklik türü

Bu, kaynak uyumsuz değişikliktir.

Değişiklik nedeni

Bu değişiklik, üçüncü taraf kitaplıklar güncelleştirilemediğinde .NET Framework'ten geçişi kolaylaştırır. Bir .NET 10 uygulaması .NET Framework bağımlılıklarına başvurmaya ve çalışma zamanında hataları işlemeye devam edebilir.

Çakışan ad alanlarını çözmek için diğer adları kullanın. Mesela:

using ContextMenu = System.Windows.Controls.ContextMenu;

Daha fazla bilgi için takma ad adı uyuşmazlıkları belgelerine bakın.

Etkilenen API'ler