C# 13 與 .NET 9 跨平臺開發實戰(第一章:開發環境搭建與.NET概述-上篇)
大家好,我是張飛洪,專注.NET開發十來年。感謝您的閱讀,我會不定期分享我的學習心得和職場經驗,希望我的文章能成為你成長路上的助力。讓我們一起精進,共同進步。
本文是《C# 13 與 .NET 9 跨平臺開發實戰》的第一章,內容很基礎,也很細,適合初入.NET職場的新人。
本章目標
- 配置開發環境(Visual Studio 2022 / VS Code / JetBrains Rider)
- 理解現代.NET生態(.NET 9/.NET Core)與傳統技術(.NET Framework/Mono/Xamarin/.NET Standard)的異同
- 使用C# 13與.NET 9創建基礎應用
- 掌握求助資源
本書將使用到的簡稱:
- Visual Studio → VS
- Visual Studio Code → VS Code
- JetBrains Rider → Rider
本章主題
- 本專欄內容導覽
- 開發環境配置
- .NET技術體系解析
- 使用VS構建控制臺應用
- 使用VS Code構建控制臺應用
- 代碼倉庫使用指南
- 技術支持資源
1.本專欄內容導覽
后續所有源碼、練習統一放在我的知識星球當中:
術語規范
| 術語 | 所指技術 |
|---|---|
| 現代.NET | .NET 9及前代版本(如.NET 6等基于.NET Core的技術棧) |
| 傳統.NET | .NET Framework / Mono / Xamarin / .NET Standard |
現代.NET是對傳統技術棧的整合與演進
本專欄結構
- 語言基礎:C#語法體系
- 類庫應用:.NET功能開發
- Web開發:跨平臺網站/服務/瀏覽器應用開發
專欄理念
- 強調實踐而非理論:通過代碼模仿與重復掌握核心概念
- 漸進式學習:細節認知將隨項目經驗自然積累
- 技術演進認知:C#/.NET是快速發展的技術體系
"本專欄難免存在一些錯誤謬誤,如果在實踐過程遇到錯誤,歡迎您和我交流"。
讀者反饋
如有批評建議,請優先通過以下渠道聯系作者:
- 我的微信:

- 知識星球:

- 郵箱:41696823@qq.com
核心內容架構
本專欄系統講解以下三大技術領域:
- 語言基礎
- C#核心語法:從變量聲明到函數編寫
- 面向對象編程范式
- 類庫基礎
- .NET基礎類庫核心功能
- 數據庫訪問等常見任務的擴展包
- 現代Web開發
- ASP.NET Core服務端/客戶端開發
- 重點涵蓋:Blazor、Minimal APIs
- 不包含:基于控制器的MVC/Web API等傳統模式
建議按章節順序閱讀,知識體系呈遞進關系
2.開發環境配置
編輯器選擇
Microsoft官方工具
- Visual Studio (Windows專屬)
- VS Code (跨平臺: Win/macOS/Linux)
- VS Code Web版 (含GitHub Codespaces)
第三方工具
- JetBrains Rider (2024年10月起非商業用途免費)
注意:
- Rider/ReSharper可能誤報Razor/Blazor組件中的
Cannot resolve symbol錯誤(實際可正常編譯運行)- Unity Support插件可能在非Unity項目中誤報裝箱操作警告
工具認知
-
警惕工具依賴
Visual Studio等IDE雖然功能強大,但開發者應理解其底層操作實質(如項目文件編輯/代碼編譯等) -
底層原理
所有編輯器本質都是文本處理工具,最終依賴dotnetCLI完成編譯流程(如圖所示)

- 手動操作可行性
理論上可使用純文本編輯器完成所有開發工作,但IDE顯著提升效率
工具選型原則
- 透明性原則
優先選擇能清晰展示底層操作的工具(避免IDE過度封裝實現細節) - 延續性原則
可沿用現有熟悉工具或團隊日常開發環境 - 多工具支持
本書所有代碼任務均兼容:- VS Code
- Visual Studio
- Rider
本章將詳細演示Visual Studio和VS Code的項目創建流程
學習項目類型
| 章節 | 推薦項目類型 | 學習優勢 |
|---|---|---|
| 第1-11章 | 控制臺應用程序 | 聚焦語言核心特性,避免UI復雜度干擾 |
| 第12-15章 | ASP.NET Core網站/服務 | 實踐Blazor/Minimal APIs等現代技術棧 |
開發工具深度解析
VS Code跨平臺方案
核心優勢:
- 全平臺支持(Windows/macOS/Linux/ARM架構)
- 輕量級啟動(適合快速修復)
- 擴展和生態豐富(C# Dev Kit將普通編輯器轉化為專業.NET開發環境)
技術前沿:
C# Dev Kit擴展(2023年6月預覽版)徹底改變VS Code的.NET開發體驗:
官方公告
使用場景:
- Web開發支持度 ★★★★★
- 移動/桌面開發支持度 ★★☆☆☆
市場地位:
Stack Overflow 2024調查顯示73%專業開發者選用VS Code:
調查報告
GitHub Codespaces云開發
- 基于VS Code的云端開發環境
- 完整支持Git倉庫/擴展/CLI
- 需付費訂閱獲得完整功能
Visual Studio全能開發
支持范圍:
- 控制臺應用/網站/Web服務/桌面應用
- 移動應用開發需配合macOS/Xcode
系統要求:
- Windows 10 v1909+/11 v21H2+
- 不支持32位系統/Windows S模式
警示:
Visual Studio for Mac已停止支持.NET 8+,并于2024年8月終止維護:
退役公告
開發環境參考
| 硬件平臺 | 軟件配置 |
|---|---|
| Surface Laptop 7 (Win11) | Visual Studio + VS Code + Rider |
| Mac mini M1 | VS Code + Rider |
建議開發者嘗試多平臺環境以深入理解跨平臺挑戰
跨平臺部署支持
.NET 9支持部署至:
- Windows:Win10 v1607+/Server 2012 R2 SP1+
- macOS:Catalina 10.15+ (支持Rosetta 2 x64模擬)
- Linux:Alpine 3.19+/CentOS Stream 9/Debian 12等
- 移動端:
- Android API 21+
- iOS/iPadOS 15+
- Mac Catalyst 12+
終止支持:
Windows 7/8.1支持已于2023年1月終止
詳情
最新支持列表:
https://github.com/dotnet/core/blob/main/release-notes/9.0/supported-os.md
Visual Studio安裝流程
- 下載Community Edition(免費授權):
https://visualstudio.microsoft.com/downloads/ - 選擇工作負載:
- ASP.NET和Web開發
- .NET桌面開發(含控制臺應用)
- C++桌面開發(優化發布包性能)
- 首次啟動配置:
- 開發設置選擇"Visual C#"
- 自定義配色方案/快捷鍵
版本前瞻:
Visual Studio 2025(v18.0)預計2025年上半年發布
快捷鍵管理:
官方指南
VS Code配置方案
- 安裝穩定版/Insiders版:
https://code.visualstudio.com/ - 安裝.NET SDK 8.0/9.0:
https://www.microsoft.com/net/download - 安裝C# Dev Kit擴展:
- 依賴項自動安裝(C#擴展v2.0+/IntelliCode等)
- 注意查看許可協議:
https://aka.ms/vs/csdevkit/license
推薦擴展清單:
| 擴展名稱 | 功能描述 |
|---|---|
| MSBuild項目工具 | 提供MSBuild文件智能提示 |
| Polyglot Notebooks | 支持.NET交互式筆記本 |
| ILSpy反編譯工具 | 查看MSIL匯編代碼 |
擴展管理命令:
code --install-extension ms-dotnettools.csdevkit
code --list-extensions
版本管理策略
- VS Code:每月功能更新(如v1.93.0)+ 緊急修復版
C#擴展:建議v2.45.20+(提供實時IntelliSense/代碼導航)
快捷鍵參考:
- Windows版PDF
- macOS版PDF
3.深入理解.NET技術體系
"遺忘歷史者必將重蹈覆轍",我們簡單回顧一下.NET體系的歷史演變,使你有個大致的了解。
.NET技術演進
.NET、.NET Core、.NET Framework、.NET Standard和Xamarin構成了一套相互關聯的開發技術矩陣。完整技術演進史見:
技術發展時間線
.NET版本支持策略
| 版本類型 | 支持周期 | 適用場景 |
|---|---|---|
| LTS (長期支持) | 3年或下一LTS發布后1年(取更長) | 生產環境穩定系統 |
| STS (標準支持) | 18個月或下一版本發布后6個月 | 需要持續迭代的前沿項目 |
| Preview | 無官方支持(Go Live版本例外) | 技術預覽/書籍編寫需求 |
關鍵實踐:
- 每月"補丁星期二"必須更新運行時
- 生產環境建議采用LTS版本(當前推薦.NET 8)

當前支持狀態(2024年11月):
- .NET 9 (STS):2024.11-2026.05
- .NET 8 (LTS):2022.11-2026.11
- .NET 10 (LTS):2025.11-2028.11
生命周期階段解析
- Preview:無支持(.NET 9預覽版:2024.02-08)
- Go Live:僅RC版本臨時支持(需立即升級到GA版)
- Active:完整支持(.NET 9:2024.11-2025.11)
- Maintenance:僅安全更新(最后6個月)
- EOL:終止支持(.NET 9:2026.05)
運行時與SDK版本管理
| 變更類型 | 運行時版本 | SDK版本 |
|---|---|---|
| 初始發布 | 9.0.0 | 9.0.100 |
| SDK修復 | 9.0.0 | 9.0.101 |
| 運行時+SDK修復 | 9.0.1 | 9.0.102 |
| SDK功能新增 | 9.0.1 | 9.0.200 |
版本管理命令:
dotnet --list-sdks # 查看已安裝SDK
dotnet --list-runtimes # 查看已安裝運行時
dotnet --info # 顯示環境詳情
命令行工具集
高效技巧:本書所有命令行指令均可從以下鏈接快速復制:
命令速查表
SDK 管理方案
| 操作系統 | 卸載方式 | 推薦工具 |
|---|---|---|
| Windows | 控制面板 → 應用和功能 | 系統內置工具 |
| Linux | 多版本管理指南 | Dots SDK管理器 |
注意:Dots 工具需從GitHub源碼編譯,建議高級開發者使用
中間語言(IL)原理
- 編譯流程:graph LR A[C#源碼] -->|Roslyn編譯器| B(IL中間語言) B -->|存儲為| C[.dll/.exe程序集] C -->|運行時加載| D[CoreCLR虛擬機] D -->|JIT編譯| E[原生機器碼]
.NET技術矩陣對比
主要技術平臺
| 技術平臺 | 特性描述 | 支持的操作系統 |
|---|---|---|
| 現代.NET | 完整支持 C# 8 至 C# 13 語言特性,可用于移植現有應用或開發新桌面/移動/Web 應用和服務 | Windows, macOS, Linux, Android, iOS, tvOS, Tizen |
| .NET Framework | 僅支持有限 C# 8 特性,不支持 C# 9 及以上版本,建議僅用于維護現有應用 | 僅 Windows |
| Xamarin | 專注于移動和桌面應用開發 | Android, iOS, macOS |
關鍵差異說明
-
現代.NET
- 跨平臺支持最全面
- 持續獲得微軟更新支持
- 推薦用于新項目開發
-
.NET Framework
- 已進入維護模式
- 新功能開發已停止
- 僅建議用于遺留系統維護
-
Xamarin
- 專注于移動端開發
- 可共享業務邏輯代碼
- 需要平臺特定UI實現
遷移建議:
新項目應優先選擇現代.NET,既有項目可逐步遷移至現代.NET以獲取最新功能支持
跨IDE支持情況
| 開發環境 | 解決方案支持 |
|---|---|
| Visual Studio | 原生完整支持,提供可視化項目管理界面 |
| JetBrains Rider | 完整支持,提供高級項目依賴分析工具 |
| VS Code + C# Dev Kit | 通過擴展實現解決方案管理功能 |
浙公網安備 33010602011771號