Visual Studio 2019 RC 的 Windows Forms 與 .NET Core 支援

安裝了 Visual Studio 2019 RC,立刻試了一下能否建立針對 .NET Core 目標平台的 Windows Forms 應用程式....

版本:Visual Studio 2019 RC version 16.0.0 RC.1 SVC1

把自己以前寫的一些工具函式庫陸續改成支援 .NET Standard 或 .NET Core 平台之後,還有一些沒辦法改成 .NET Core 的,主要就是一些 Windows Forms 應用程式。因此,安裝了 Visual Studio 2019 RC 之後,便立刻試一下它在 Windows Forms 應用程式方面做了哪些 .NET Core 平台的支援,以及是否足以讓我有信心把現有的 Windows Forms 專案移轉成 .NET Core。

結論:還不適合現在就把既有 Windows Forms 專案改為 .NET Core 平台。

原因:缺乏 Windows Forms Designer(視覺化表單設計工具)。雖然有暫時解法(底下會提到),但還是覺得太麻煩了。

底下是一些細節,包括如何解決初次建立 Windows Forms 專案時發生的錯誤。

建立專案

建立新專案時,專案範本選擇 Windows Forms App (.NET Core),如下圖:


將專案名稱與路徑輸入完成後,點 Create 按鈕,結果出現錯誤:「No template could be found with the group identity 'Mcirosoft.Common.WinForms'」。如下圖:


如果是建立 WPF (.NET Core) 專案也一樣會出現類似上圖的錯誤,只是錯誤訊息裡面的 "WinForms" 換成了 "WPF"。

這個問題,是因為預設情況下,Visual Studio 2019 RC 沒有啟用預覽版的 .NET Core SDK。只要開啟 Visual Studio 的選項設定視窗,在 Project and Solutions > .NET Core 裡面,把「Use previews of the .NET Core SDK」打勾,便可解決。


解決上述問題後,便可在 Visual Studio 2019 RC 中利用專案範本來建立 Windows Forms (.NET Core) 專案。從專案選項中可以確認目標平台為 .NET Core 3.0:


但問題來了:沒辦法以視覺化的方式設計表單。

無論是按 Shift+F7 還是從 Solution Explorer 中點滑鼠右鍵,都沒辦法開啟 Windows Forms Designer:


原因就如官方文件裡面寫的:這個版本的 Visual Studio 2019 RC 還沒有提供 Windows Forms Designer。

暫時解法

官方文件也有提到一個臨時的解決方法,細節在此:Using the Classic WinForms Designer in WinForms Core

我大概看了一下實際的操作步驟,覺得還是太麻煩了,決定等 Visual Studio 2019 日後發布新版本時再看看。


Visual Studio 2019 RC 的 Windows Forms 與 .NET Core 支援 Visual Studio 2019 RC 的 Windows Forms 與 .NET Core 支援 Reviewed by Michael Tsai on 3/09/2019 Rating: 5
技術提供:Blogger.