Delen via


Toepassingen die zowel naar WPF als WinForms verwijzen, moeten de typen MenuItem en ContextMenu ondubbelzinnig maken.

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.

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