安裝 Visual Studio 時,我們可以選擇要安裝哪些版本 .NET Framework :

註:SDK 與目標套件差在哪裡?SDK 包含編譯器整合、設計工具、參考組件、專案範本與建置支援,必須要安裝才能在 Visual Studio 建立及編輯該版本的 .NET Framework 應用程式專案(例如 WinForms/WPF);至於目標套件(Targeting Pack) 僅包含特定 .NET Framework 版本的參考組件與目標檔案,讓專案可以將 Target Framework 設為該版本並成功編譯,不提供設計工具與額外範本。參考

在 .NET Framework 專案設定視窗,我們可以選擇編譯成有安裝目標套件的 .NET Framework 版本。

補充隱藏觀念:.NET 4.X 採「就地更新」(In-Place Update)政策,.NET 4.X 安裝時會覆寫換掉 \Windows.NET Framework\V4.0.30319 的 .NET 4 舊版 dll,沿用相同目錄同樣檔名但置換成新版本。故安裝 .NET 4.8 後, 以 .NET 4.0、4.5、4.6、4.7、4.8 為目標編譯的程式都是使用 .NET 4.8 版的 Runtime,選取 Target Framework 可讓程式執行時向下相容,模擬舊版本行為。 延伸閱讀:.NET 4.6 專案可以參照及使用 .NET 4.8 編譯的程式庫嗎?認識 web.config compilation 與 httpRuntime 的 targetFramework

針對 .NET Framework 專案,我們可以選擇編譯成 .NET 4.6.2、.NET 4.7.2、...、.NET 4.8、.NET 4.8.1,依據新版會修掉一些 Bug、版本愈新可以用愈久(愈晚面對 EOS)... 等慣例,所以我們該義無反顧選 .NET 4.8.1?

錯!

依據 官方文件,.NET 4.8 將以 Windows 元件形式提供,其支援週期與 Windows 看齊,也就是 Windows 用多久,.NET 4.8 就能用多久,不須擔心提早 EOS。而微軟也建議客戶升級至 .NET Framework 4.8 以獲得最高層級的效能、可靠性和安全性。(依據 Windows Server 2025 內建 .NET 4.8.1 推算,.NET Framework 4.8 至少能再戰個十年以上吧)

微軟在 2019-04-18 推出 .NET 4.8,.NET Framework 發展就封頂了,.NET 路線改較由 .NET 5/6/7/8... 傳承下去。兩年多後 (2022-08-09) 推出的 .NET 4.8.1 只做了很微小的強化,主要是加入對 Arm64 CPU 的支援、強化 Windows Forms/ WPF 的 WCGA2.1 無障礙標準支援,應用程式未必會用到。但 4.8.1 較大的問題是一些舊版作業系統不支援,像是 Windows 7 SP1、Windows 8.1、Windows 10 2004/1909/1903、Windows Server 2019/2016/2012 R2/2012... 等。其中 Windows Server 2016 到 2027-01-12 才 EOS,2019 則是 2029-01-09,因此若程式會部署到 Window Server 2022 之前的伺服器,就必須留意作業系統不支援的問題。

評估之後,若沒有 Arm64 及 Windows Form/WPF 無障礙需求,.NET 4.8 應是相容性更高的好選擇,結案。

Choose .NET Framework 4.8 over 4.8.1 for broader OS compatibility unless Arm64 or accessibility features are required; support aligns with Windows lifecycle.


Comments

Be the first to post a comment

Post a comment