Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Program som refererar till både Windows Presentation Foundation (WPF) och Windows Forms (WinForms) måste nu skilja vissa typer, till exempel MenuItem och ContextMenu, för att undvika kompileringsfel.
Version introducerad
.NET 10
Tidigare beteende
Tidigare skulle typerna ContextMenu, DataGrid, DataGridCell, Menu, MenuItem, ToolBaroch StatusBar matchas mot System.Windows.Controls namnområdet eftersom de inte fanns i System.Windows.Forms namnområdet i .NET Core 3.1 till .NET 9.0.
<ImplicitUsings>enable</ImplicitUsings>
<UseWindowsForms>true</UseWindowsForms>
<UseWPF>true</UseWPF>
Nytt beteende
De berörda typerna i System.Windows.Forms namnområde orsakar ett kompileringsfel när det finns en tvetydig referens mellan System.Windows.Controls och System.Windows.Forms.
CS0104 'ContextMenu' is an ambiguous reference between 'System.Windows.Controls.ContextMenu' and 'System.Windows.Forms.ContextMenu'
Typ av brytande ändring
Det här är en källinkompatibel förändring.
Orsak till ändring
Ändringen underlättar migrering från .NET Framework när bibliotek från tredje part inte kan uppdateras. Ett .NET 10-program kan fortsättningsvis referera till .NET Framework-beroenden och hantera fel under körning.
Rekommenderad åtgärd
Använd alias för att lösa motstridiga namnområden. Till exempel:
using ContextMenu = System.Windows.Controls.ContextMenu;
Mer information finns i dokumentationen om aliasnamnkonflikter .
Berörda API:er
- 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