大家好,我是张飞洪,专注.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虽然功能强大,但开发者应理解其底层操作实质(如项目文件编辑/代码编译等)
-
底层原理
所有编辑器本质都是文本处理工具,最终依赖
dotnet
CLI完成编译流程(如图所示)

- 手动操作可行性
理论上可使用纯文本编辑器完成所有开发工作,但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汇编代码 |
扩展管理命令:
bash
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 |
版本管理命令:
bash
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 Framework
- 已进入维护模式
- 新功能开发已停止
- 仅建议用于遗留系统维护
-
Xamarin
- 专注于移动端开发
- 可共享业务逻辑代码
- 需要平台特定UI实现
迁移建议 :
新项目应优先选择现代.NET,既有项目可逐步迁移至现代.NET以获取最新功能支持
跨IDE支持情况
开发环境 | 解决方案支持 |
---|---|
Visual Studio | 原生完整支持,提供可视化项目管理界面 |
JetBrains Rider | 完整支持,提供高级项目依赖分析工具 |
VS Code + C# Dev Kit | 通过扩展实现解决方案管理功能 |