日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

解决vs2019中暂时无法为.net core WinForms使用 Designer 的临时方法

發布時間:2023/12/4 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 解决vs2019中暂时无法为.net core WinForms使用 Designer 的临时方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

以下方法來自于微軟github開源項目WinForms:

dotnet/winforms - Using the Classic WinForms Designer in WinForms Core, 請放心使用 .

目前.net core下的 Windows Forms的可視化設計器(Designer)尚不可用,后續的Visual Studio 2019 Update才會支持該部分的功能。不過目前我們想在vs2019中使用 Designer,有一種臨時解決方法。

可以使用Visual Studio來處理鏈接文件(Link files)的功能,并將其WinForms Designer用于Classic Framework (即.net Framework的Win Forms項目)。

具體的解決方法是在同一個?Solution下創建兩個項目:

  • 用于設計WinForms應用程序的.NET Framework應用程序(.net core項目)

  • 用于運行WinForms應用程序的.NET Core應用程序(.net Framework 項目)

而兩個應用程序(.net core項目和相應.net Framework 項目)都將引用相同的文件。

在該方法中,只要添加新的Win Form或新的UserControl,就需要在Classic Framework WinForms項目(.net Framework的Win Forms項目)中重新設置Form文件的嵌套層級關系,推薦使用Mad Kristensen的文件嵌套擴展來完成這件事,而不是使用文本編輯器來修補項目文件(.csproj文件),建議事先安裝好該vs插件。

完整步驟:

安裝 vs 2019 professional/enterprise版本

先安裝 vs 2019 professional/enterprise版本,安裝好.net core 3.0 SDK,此時試著創建一個.net core下的 win forms 應用,

設置好相關項目名和存放路徑后,會彈出:

在vs的設置里,勾選.NET core下的"Use preview SDK"

設置完,重啟vs才能生效。

使用vs自帶的模板,選擇其中的 .net core forms 創建Project, 取名為"CoreHelloForm"

此時的文件目錄為:

在剛創建的Solution中使用vs自帶的模板,選擇其中的.net framework forms添加新的project,取名為"CoreHelloForm.Designer"

此時Solution中的文件目錄為:

將.net core form下的Form1 重命名為 MainForm

此時,選中 .net core form項目,右鍵選擇 “Set as start up project”,按F5運行項目,可看到窗體:

然后點窗體右上角的x關閉按鈕,停止運行.

測試從命令行是否能正常 build?.net core項目

右鍵 .net core form項目,點擊"Open Folder in File Explorer",

刪除此處的bin?文件夾

在上方地址欄輸入cmd?進入命令行:

輸入dotnet --version,看是否能看到具體.net core版本,如果沒問題,繼續下面的步驟。

輸入dotnet build

此時,回到文件目錄D:\Coding\csProj\CoreHelloForm\CoreHelloForm\bin\Debug\netcoreapp3.0,雙擊其中的exe文件,窗體能正常打開。

刪除項目CoreHelloForm.Designer中所有Form1相關的文件

接著選中.net framework項目CoreHelloForm.Designer下的Form1,右鍵點擊"Delete",

會出現下面這個警告框,點OK。

在項目`CoreHelloForm.Designer中以"As Link"的方式引用.net core form項目下的MainForm相關文件

選中項目CoreHelloForm.Designer,右鍵Add,選"Existing Item"

打開文件選擇框之后,選擇.net core項目CoreHelloForm下的下圖中高亮的3個文件.

點擊Add As Link。

從Extension market下載并安裝擴展 File Nesting

下載地址:?File Nesting for VS
下載到的文件是File_Nesting_v2.6.85.vsix, 關閉vs,雙擊,勾選上相應版本的vs安裝即可~

使用 File Nesting來修改 Link 的 MainForm相關文件的層次關系.

先選中文件MainForm.Designer.cs和MainForm.resx,然后右鍵點擊 "File Nesting" -> "Auto-nest selected items"

再右鍵點擊 "File Nesting" -> "Nest item",選擇?MainForm

點?OK繼續.

再進行一次重命名

將.Designer項目下的Program.cs中的Form1改為MainForm.

重設啟動項項目

選中項目CoreHelloForm.Designer,右鍵 Rebuild, 選中.net framework項目CoreHelloForm.Designer,右鍵選擇 “Set as start up project”.

關閉 Solution中 項目CoreHelloForm.Designer中MainForm的干擾文件

此時,如果試著雙擊項目CoreHelloForm.Designer中的MainForm.cs,會彈出如下警告。

那是因為項目CoreHelloForm.Designer中的MainForm.cs 所Link 的與MainForm相關的文件已經在 項目CoreHelloForm 中 打開。

我們將已打開的文件中與項目CoreHelloForm.Designer中Form相關的文件都關閉掉,比如:

試用 Designer

現在,再雙擊項目CoreHelloForm.Designer中的MainForm.cs,就能看到 Designer 了。

此時,可以進行可視化編輯了。

比如,我做了如下幾處修改:

  • 改掉 Form的 Title

  • 改掉文本框的內容.

  • 改掉窗體的圖標(icon)

按F5,運行的效果圖為:

項目代碼已推到github,歡迎Fork和star.
傳送門:?.netCore-WinForms_Designer?, 如果覺得自己配置起來麻煩,也可以 clone 下來自己體驗一把喔~

原文地址:https://www.cnblogs.com/enjoy233/p/workaround_to_use_the_designer_in_winForms_Core_App.html

.NET社區新聞,深度好文,歡迎訪問公眾號文章匯總?http://www.csharpkit.com?


總結

以上是生活随笔為你收集整理的解决vs2019中暂时无法为.net core WinForms使用 Designer 的临时方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。