我有一個從 .NET Core 3.0 升級到 .NET Core 3.1 的應用程式。執行此操作后,由于缺少對 MenuItem 和 ContextMenuItem 的參考(來自 Winforms System.Windows.Forms 命名空間),我的應用程式不再編譯。
我試過了:
- 重新啟動 Visual Studio
- 清理/重建
- 關閉 Visual Studio 并洗掉 bin 和 obj 檔案夾
- 將我的錯誤顯示更改為僅構建以避免可能的 IntelliSense 錯誤
不幸的是,錯誤仍然存??在。更令人費解的是,其他 WinForms 物件被參考,并不會導致編譯錯誤,例如System.Windows.Forms.PropertyGrid. 這是一個螢屏截圖,顯示成功參考了 PropertyGrid,但訪問其 ContextMenu 屬性會導致編譯錯誤。

我怎么解決這個問題?
uj5u.com熱心網友回復:
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.1 中的重大更改 - 洗掉了控制元件
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/450316.html
上一篇:C#.NETFWv4.5.2:如何為特定物件打開*.msc屬性對話框?
下一篇:使用塊防止物件在內部處理
