早在2005年,这些控件就被.NET Framework 2.0中更强大的控件所取代。默认情况下,多年来,Visual Studio Designer工具箱中都没有提供这些控件。结果,我们决定删除这些控件,而只关注新控件。
建议使用以下替代产品:
旧控件(API)
建议更换
其他关联的API已删除
DataGrid
DataGridView
DataGridCell,DataGridRow,DataGridTableCollection,DataGridColumnCollection,DataGridTableStyle,DataGridColumnStyle,DataGridLineStyle,DataGridParentRowsLabel,DataGridParentRowsLabelStyle,DataGridBoolColumn,DataGridTextBox,GridColumnStylesCollection,GridTableStylesCollection,HitTestType
ToolBar
ToolStrip
ToolBarAppearance
ToolBarButton
ToolStripButton
ToolBarButtonClickEventArgs,ToolBarButtonClickEventHandler,ToolBarButtonStyle,ToolBarTextAlign
ContextMenu
ContextMenuStrip
Menu
ToolStripDropDown,ToolstripDropDownMenu
MenuItemCollection
MainMenu
MenuStrip
MenuItem
ToolstripMenuItem
是的,这是一个不幸的重大变化。如果您使用的是我们在应用程序中删除的控件,则会看到构建中断。另外,如果在最新版本的.NET Core Windows窗体设计器中打开.NET Core 3.0应用程序,则在使用这些控件时会看到错误。
我们建议您将应用程序更新为.NET Core 3.1,然后移至其他控件。更换控件是一个简单的过程,本质上是“查找并替换”。
首先,我们应该在发布.NET Core 3.0之前进行这些更改,对此我们表示赞同。我们尝试避免过时的更改,甚至避免突破性更改,这使我们很痛苦。
随着我们进一步进入Windows Forms设计器项目,我们意识到这些控件与创建现代应用程序不符,并且永远不应该成为Windows Forms的.NET Core端口的一部分。我们还看到,他们需要我们更多的时间来支持而不是合理的。
我们的目标是继续改进Windows窗体,以实现更高的DPI,可访问性和可靠性,并且需要后期更改才能使我们专注于交付。
C ++ / CLI
我们在Visual Studio 2019 16.4中增加了对创建可与.NET Core 3.0+一起使用的C ++ / CLI(又称为“托管C ++”)组件的支持。您需要安装“带C ++的桌面开发”工作负载和“ C ++ / CLI支持”组件,才能使用C ++ / CLI。
该组件添加了几个可以使用的模板:
CLR Class Library (.NET Core)
CLR Empty Project (.NET Core)
如果找不到它们,只需在“新建项目”对话框中搜索它们。
C++ / CLI仅在Windows上启用。您不能将目标为.NET Framework的C ++ / CLI组件与.NET Core一起使用,反之亦然。
结束
我们建议您尽快迁移到.NET Core 3.1。这是一个很棒的版本(很大程度上是由于3.0),它对.NET Core的许多方面进行了改进。这也是一个长期支持(LTS)版本,将支持三年。
生命周期更新:
.NET Core 3.0将于今天(到2020年3月3日)维护三个月。
.NET Core 2.2的整个维护周期都将在12月23日结束。
.NET Core 2.1的支持将一直持续到2021年8月(这也是LTS版本)。