Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Os aplicativos que fazem referência ao WPF (Windows Presentation Foundation) e ao Windows Forms (WinForms) agora devem desambiguar determinados tipos, como MenuItem e ContextMenu, para evitar erros de tempo de compilação.
Versão introduzida
.NET 10
Comportamento anterior
Anteriormente, os tipos ContextMenu, DataGrid, DataGridCell, Menu, MenuItem, ToolBare StatusBar seriam resolvidos para o namespace System.Windows.Controls porque não existiam no namespace System.Windows.Forms do .NET Core 3.1 até o .NET 9.0.
<ImplicitUsings>enable</ImplicitUsings>
<UseWindowsForms>true</UseWindowsForms>
<UseWPF>true</UseWPF>
Novo comportamento
Os tipos afetados no namespace System.Windows.Forms causam um erro de tempo de compilação quando há uma referência ambígua entre System.Windows.Controls e System.Windows.Forms.
CS0104 'ContextMenu' is an ambiguous reference between 'System.Windows.Controls.ContextMenu' and 'System.Windows.Forms.ContextMenu'
Tipo de mudança disruptiva
Essa é uma alteração incompatível com a fonte.
Motivo da alteração
A alteração facilita a migração do .NET Framework quando bibliotecas de terceiros não podem ser atualizadas. Um aplicativo .NET 10 pode continuar a referenciar dependências do .NET Framework e lidar com erros em runtime.
Ação recomendada
Use aliases para resolver namespaces conflitantes. Por exemplo:
using ContextMenu = System.Windows.Controls.ContextMenu;
Consulte a documentação sobre conflitos de nome de alias para obter mais detalhes.
APIs afetadas
- 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