昨天 PO 了金魚都能懂的 .NET 6 開源程式 EXE 製作法,有好些讀者貼心提醒我可以用 Github Action 自動編譯成 EXE,方便完全不懂程式的朋友直接下載。坦白說,一開始有閃過自動編譯的想法,但很快我就決定把握這個科普 .NET 與程式碼是怎麼變成程式的機會! (話說,九年前在寫 MSN 群組轉移工具時,我也幹過同樣的事,趁機業配 .NET Framework 4.0 😄)

沒辦法,程式魔人的快樂,往往就是這麼樸實無華,且枯燥。

昨晚接獲讀者傳訊,說看了文章已成功做出 EXE 了! (看著訊息,我充實而欣慰) 不過,後面帶了一個有趣問題,說他在 Github 有另一個想用的 .NET 小工具,舉一反三想試了 dotnet publish 指令卻失敗,出現找不到 .NET Framework, Version=v4.0 的參考組件。若要解決此問題,請安裝此架構版本的開發人員套件 (SDK/目標套件) 或重定應用程式。您可以在 https://aka.ms/msbuild/developerpacks 下載 .NET Framework 開發人員套件,主要是因為 dotnet publish 是 .NET Core 或 .NET 5 以上版本用的,.NET Framework 專案做法不同。

當有人對編譯 .NET 專案有興趣,我們自然要義無反顧向他介紹地表最強大的開發工具 - Visual Studio!

首先,教大家如何識別 .NET 專案版本。

先補充一些歷史常識,.NET 從 2002 推出至今已經有 20 年歷史,起初的正式名稱為 .NET Framework,從 1.0、1.1、2.0、3.5、4.0、4.5、4.6、4.7 到最後的版本 4.8,.NET Framework 有個要命的限制,它只能在 Windows 上執行;於是 2016 年微軟開始發展新一代 .NET,最大特色是跨平台,可在 Windows/MacOS/Linux 甚至手機平板上執行,這個跨平台版 .NET 初期叫 .NET Core,成熟後正式更名為 .NET 5 成為 .NET Framework 的接班人,目前最新版本是 .NET 6,預計今年會推出 .NET 7。

如果你對某個 Github 上的 .NET 開源專案有興趣,想知道它是用 .NET Framework 還是 .NET Core/.NET 6,最簡單的方法是找到 .csproj 檔案:

上圖是魔力寶貝輔助程式CgLogListener.csproj,ToolsVersion="15.0" 表示它用 Visual Studio 2017 開發的(VS2015 = 14、VS2019 = 16、VS2022 = 17),但我們安裝最新版 VS2022 一樣可以開啟跟編譯。

<TargetFrameworkVersion>v4.0</TargetFrameworkVersion> 則表示專案用的是 .NET Framework,不是 .NET Core 或 .NET 5/6;TargetFrameworkVersion 可能出現的值有 v2.0、v3.0、v3.5、v4.5.2、v4.6、v4.6.1、v4.6.2、v4.7、v4.7.1、v4.7.2 或 v4.8。參考。如果看到 <TargetFramework>net6.0</TargetFramework> 則表示這是 .NET Core/.NET 5 以上的新一代 .NET 專案。參考

要編譯 .NET Framework 專案,最方便的做法是用 Visual Studio,針對個人使用或五人以下的小型公司,Visual Studio 有免費的社群版 - Visual Studio Community,所以這裡以魔力寶貝輔助程式為例,示範在 Windows 從下載安裝 Visual Studio Community 到編譯出 EXE 的完整過程。安裝 VS2022 所需的磁碟空間依選擇的開發功能而異,如果只編譯 Windows 桌面程式,大約 7.5G 左右,說是為了喝一杯牛奶養一頭牛也不為過,但好好認識這頭神奇的牛,你有機會變成會寫程式的牛人,從此改變人生。VS2022 可以拿來寫網站、寫工具、寫桌面程式、寫 APP、寫 AI、寫遊戲,附上入門教學,希望有一天能在 Github 看到你的作品。

VS2022 內建整合 Github ,5'00" 的地方開始我示範從 Github 複製儲存庫位址 https://github.com/user_name/repositry_name.git 貼到 VS2022,Visual Studio 便為自動下載並開啟解決方案(名為 .sln 的檔案)。VS2022 預設只安裝了 .NET Framework 4.8,若專案使用較舊 .NET Framework 版本,VS2022 會提示升級成 4.8 或下載安裝舊版 .NET Framework,一般建議升級 4.8 就好,幾乎都能無痛升級。

完整影片在下面,希望對不懂程式又想編譯 .NET Framework EXE 的朋友有些幫助。

安裝 VS2022 編譯 Github 上的 .NET Framework 專案

Tutorial of setup VS2022 community and build projects from Github.


Comments

Be the first to post a comment

Post a comment