C# 13 与 .NET 9 跨平台开发实战(第一章:开发环境搭建与.NET概述-上篇)

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

通过扩展实现解决方案管理功能

相关作品

欢乐颂 (电视剧) 365bet特点

欢乐颂 (电视剧)

❤️ 756 📅 06-29
gta5下雪是怎么回事 gta5下雪现象说明 365bet特点

gta5下雪是怎么回事 gta5下雪现象说明

❤️ 78 📅 09-25
在 Windows 11 中轻松挂载 ISO 的 5 种方法 365bet大陆官网

在 Windows 11 中轻松挂载 ISO 的 5 种方法

❤️ 169 📅 09-21