我有一个应用程序,我已经从.NET Core 3.0升级到.NET Core 3.1。这样做之后,由于缺少对MenuItem和ContextMenuItem(来自WinformsSystem.Windows.Forms命名空间)的引用,我的应用程序不再编译。
我试过:
- 正在重新启动Visual Studio
- 清洁/重建
- 关闭Visual Studio并删除bin和obj文件夹
- 将我的错误显示更改为Build only以避免可能的智能感知错误
不幸的是,错误仍然存在。更令人费解的是,引用了其他WinForms对象,并且不会导致编译错误,例如System.Windows.Forms.PropertyGrid
。下面是一个屏幕截图,显示PropertyGrid被成功引用,但访问其ContextMenu属性会导致编译错误。
我该如何解决这个问题?
1条答案
按热度按时间cnjp1d6j1#
ContextMenu沿着一些其他控件在.NET Core 3.1及更高版本中不可用。这些控件(包括MainMenu、ContextMenu、DataGrid和DataGrid)最初是从Toolbox中删除的,这些类型直到.NET Core 3才可用。后来,这些类型也从.NET Core 3.1开始删除。
您需要升级您的应用程序并使用替换的控件(MenuStrip、ContextMenuStrip、ToolStrip、DataGridView)。
你可以在这里阅读更多关于.NET Core 3.1中的破坏性更改和删除控件的信息: