在 .NET Core 3.1 中找不到 MenuItem 和 ContextMenuItem

MenuItem and ContextMenuItem not found in .NET core 3.1

我有一个已从 .NET Core 3.0 升级到 .NET Core 3.1 的应用程序。这样做之后,由于缺少对 MenuItem 和 ContextMenuItem(来自 Winforms System.Windows.Forms 命名空间)的引用,我的应用程序不再编译。

我试过:

不幸的是,错误仍然存​​在。格外令人不解的是,引用了其他WinForms对象并没有导致编译错误,如System.Windows.Forms.PropertyGrid。这是一个截图,显示 PropertyGrid 被成功引用,但是访问它的 ContextMenu 属性 导致编译错误。

我该如何解决这个问题?

ContextMenu 以及一些其他控件在 .NET Core 3.1 及更高版本中不可用。这些控件(包括 MainMenu、ContextMeby、Toolbar、DataGrid)首先从工具箱中删除,并且类型在 .NET Core 3 之前可用。然后这些类型也从 .NET Core 3.1 开始删除。

您需要升级您的应用程序并改用替换的控件(MenuStrip、ContextMenuStrip、ToolSTrip、DataGridView)。

您可以在此处阅读有关 .NET Core 3.1 中重大更改和删除控件的更多信息: