Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Aplikace, které odkazují na Windows Presentation Foundation (WPF) a Windows Forms (WinForms), musí nyní nejednoznačit určité typy, například MenuItem a ContextMenu, aby nedocházelo k chybám kompilace.
Verze byla představena
.NET 10
Předchozí chování
Dříve se typy ContextMenu, DataGrid, DataGridCell, Menu, MenuItem, ToolBara StatusBar přeložily na obor názvů System.Windows.Controls, protože v oboru názvů System.Windows.Forms v .NET Core 3.1 až .NET 9.0 neexistují.
<ImplicitUsings>enable</ImplicitUsings>
<UseWindowsForms>true</UseWindowsForms>
<UseWPF>true</UseWPF>
Nové chování
Ovlivněné typy v oboru názvů System.Windows.Forms způsobují chybu v době kompilace, pokud existuje nejednoznačný odkaz mezi System.Windows.Controls a System.Windows.Forms.
CS0104 'ContextMenu' is an ambiguous reference between 'System.Windows.Controls.ContextMenu' and 'System.Windows.Forms.ContextMenu'
Typ zásadní změny
Jedná se o změnu , která je nekompatibilní se zdrojem.
Důvod změny
Tato změna usnadňuje migraci z rozhraní .NET Framework, pokud nelze aktualizovat knihovny třetích stran. Aplikace .NET 10 může nadále odkazovat na závislosti rozhraní .NET Framework a zpracovávat chyby za běhu.
Doporučená akce
Pro vyřešení konfliktů v oborech názvů použijte aliasy. Například:
using ContextMenu = System.Windows.Controls.ContextMenu;
Další podrobnosti najdete v dokumentaci ke konfliktům názvů aliasů .
Ovlivněná rozhraní API
- System.Windows.Forms.ContextMenu
- System.Windows.Forms.DataGrid
- System.Windows.Forms.DataGridCell
- System.Windows.Forms.Menu
- System.Windows.Forms.MenuItem
- System.Windows.Forms.ToolBar
- System.Windows.Forms.StatusBar
- System.Windows.Controls.ContextMenu
- System.Windows.Controls.DataGrid
- System.Windows.Controls.DataGridCell
- System.Windows.Controls.Menu
- System.Windows.Controls.MenuItem
- System.Windows.Controls.ToolBar
System.Windows.Controls.StatusBar