Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Toepassingen die verwijzen naar zowel Windows Presentation Foundation (WPF) als Windows Forms (WinForms), moeten nu bepaalde typen, zoals MenuItem en ContextMenu, niet eenduidig maken om compilatiefouten te voorkomen.
Geïntroduceerde versie
.NET 10
Vorig gedrag
Voorheen worden de typen ContextMenu, DataGrid, DataGridCell, Menu, MenuItem, ToolBaren StatusBar omgezet in de System.Windows.Controls naamruimte, omdat ze niet bestonden in de System.Windows.Forms naamruimte in .NET Core 3.1 tot en met .NET 9.0.
<ImplicitUsings>enable</ImplicitUsings>
<UseWindowsForms>true</UseWindowsForms>
<UseWPF>true</UseWPF>
Nieuw gedrag
De betrokken typen in de System.Windows.Forms naamruimte veroorzaken een compilatiefout wanneer er een dubbelzinnige verwijzing is tussen System.Windows.Controls en System.Windows.Forms.
CS0104 'ContextMenu' is an ambiguous reference between 'System.Windows.Controls.ContextMenu' and 'System.Windows.Forms.ContextMenu'
Type van brekende verandering
Dit is een bron-onverenigbare wijziging.
Reden voor wijziging
De wijziging vereenvoudigt de migratie vanuit .NET Framework wanneer bibliotheken van derden niet kunnen worden bijgewerkt. Een .NET 10-toepassing kan blijven verwijzen naar .NET Framework-afhankelijkheden en fouten tijdens runtime verwerken.
Aanbevolen actie
Gebruik aliassen om conflicterende naamruimten op te lossen. Bijvoorbeeld:
using ContextMenu = System.Windows.Controls.ContextMenu;
Raadpleeg de documentatie voor aliasnaamconflicten voor meer informatie.
Getroffen API's
- 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