在 .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 命名空间)的引用,我的应用程序不再编译。
我试过:
- 正在重启Visual Studio
- Clean/Rebuild
- 关闭 Visual Studio 并删除 bin 和 obj 文件夹
- 将我的错误显示更改为 仅构建 以避免可能的 IntelliSense 错误
不幸的是,错误仍然存在。格外令人不解的是,引用了其他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 中重大更改和删除控件的更多信息:
我有一个已从 .NET Core 3.0 升级到 .NET Core 3.1 的应用程序。这样做之后,由于缺少对 MenuItem 和 ContextMenuItem(来自 Winforms System.Windows.Forms 命名空间)的引用,我的应用程序不再编译。
我试过:
- 正在重启Visual Studio
- Clean/Rebuild
- 关闭 Visual Studio 并删除 bin 和 obj 文件夹
- 将我的错误显示更改为 仅构建 以避免可能的 IntelliSense 错误
不幸的是,错误仍然存在。格外令人不解的是,引用了其他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 中重大更改和删除控件的更多信息: