文章目录
- [C# 文档](# 文档)
- [.NET SDK 下载](#.NET SDK 下载)
- [安装 .NET SDK](#安装 .NET SDK)
- 安装完验证
- [VS Code 配置](#VS Code 配置)
-
- [C# 开发插件](# 开发插件)
- settings.json
- [WPF UI 框架](#WPF UI 框架)
- [Avalonia UI 框架](#Avalonia UI 框架)
-
- [创建 Avalonia 项目](#创建 Avalonia 项目)
- [Avalonia 官方示例](#Avalonia 官方示例)
- [Avalonia 桌面 UI 库](#Avalonia 桌面 UI 库)
- [Blazor Web UI 框架](#Blazor Web UI 框架)
- [ASP.NET Core 控制器创建 Web API](#ASP.NET Core 控制器创建 Web API)
- [dotnet 命令](#dotnet 命令)
-
- [dotnet new](#dotnet new)
- [dotnet build](#dotnet build)
- [dotnet run](#dotnet run)
- [dotnet tool](#dotnet tool)
C# 文档
.NET SDK 下载
安装 .NET SDK

安装完验证
bash
dotnet -h
# .NET SDK 版本
dotnet --version
# .NET SDK 的列表
dotnet --list-sdks
# .NET 运行时的列表
dotnet --list-runtimes
# .NET 安装和计算机环境详细信息
dotnet --info

- 安装时正常会自动添加 PATH
bash
# /usr/local/share/dotnet:~/.dotnet/tools
echo $PATH

VS Code 配置
C# 开发插件
C#
C# Dev Kit
Avalonia for VSCode
settings.json
- 配置 Code Runner
json
{
"code-runner.executorMap": {
"csharp": "cd $dir && dotnet run $fileName"
}
}
- 创建一个 控制台应用
bash
# 安装模板包
dotnet new install Microsoft.NET.Runtime.WebAssembly.Templates
# 根据 console 模板创建项目
dotnet new console -o ./demo -n demo
# 根据 console 模板创建项目,未指定名称则使用输出目录的名
dotnet new console -o ./demo
- 运行 demo 项目

- 或者终端执行命令
bash
dotnet run
WPF UI 框架
WPF(Windows Presentation Foundation)是微软推出的基于Windows 的用户界面框架。
注: 本人是 Mac 电脑无法演示。
Avalonia UI 框架
Avalonia是一个强大的框架,使开发人员能够使用.NET创建跨平台应用程序。它使用自己的渲染引擎绘制UI控件,确保在Windows、macOS、Linux、Android、iOS和WebAssembly等不同平台上具有一致的外观和行为。这意味着开发人员可以共享他们的UI代码,并在不同的目标平台上保持统一的外观和感觉。
创建 Avalonia 项目
bash
# 安装 Avalonia 模板
dotnet new install Avalonia.Templates
# 列出已安装的模板
dotnet new list

bash
# 创建 Avalonia 项目
dotnet new avalonia.app -o demo
cd demo
# 运行项目
dotnet run

Avalonia 官方示例
bash
git clone https://github.com/AvaloniaUI/Avalonia.Samples.git
cd Avalonia.Samples
cd ./src/Avalonia.Samples/CompleteApps/SimpleToDoList
- SimpleToDoList.csproj 修改为当前环境 .NET SDK 版本
xml
<TargetFramework>net8.0</TargetFramework>
- 运行项目
bash
dotnet run

Avalonia 桌面 UI 库

bash
git clone https://github.com/kikipoulet/SukiUI.git
cd SukiUI/SukiUI.Demo
dotnet run

Blazor Web UI 框架
注: Blazor允许Web开发人员使用C#代替JavaScript创建Web应用程序。他们还可以重用.NET Silverlight代码。另外,Blazor应用程序由使用C#,HTML和CSS实现的可重复使用的Web UI组件组成。由于客户端和服务器代码都是用C#编写的,因此开发人员可以共享代码和库。
创建应用
bash
dotnet new blazor -o BlazorApp

项目结构
- Program.cs 是启动服务器以及在其中配置应用服务和中间件的应用的入口点。
- 在 Components 目录中:
- App.razor 为应用的根组件。
- Routes.razor 配置 Blazor 路由器。
- Pages 目录包含应用的一些示例网页。
- BlazorApp.csproj 定义应用项目及其依赖项。
- Properties 目录中的 launchSettings.json 文件为本地开发环境定义不同的配置文件设置。创建项目时会自动分配端口号并将其保存在此文件上。

- 运行应用
bash
dotnet run

ASP.NET Core 控制器创建 Web API
- 创建 Web API 文档: https://learn.microsoft.com/zh-cn/training/modules/build-web-api-aspnet-core/?WT.mc_id=dotnet-35129-website
bash
dotnet --list-sdks
dotnet new webapi -controllers -f net8.0 -o demo

- 项目结构
名称 | 描述 |
---|---|
Controllers/ | 包含公共方法公开为 HTTP 终结点的类。 |
Program.cs | 配置服务和应用的 HTTP 请求管道,包含应用的托管入口点。 |
ContosoPizza.csproj | 包含项目的配置元数据。 |
ContosoPizza.http | 包含直接从 Visual Studio Code 测试 REST API 的配置。 |

- 运行应用
bash
dotnet run

dotnet 命令
dotnet new
bash
dotnet new -h
- 列出要使用 dotnet new 运行的可用模板
bash
dotnet new list

- 在 NuGet.org 上搜索 dotnet new 支持的模板
bash
dotnet new search console

- 安装模板包
bash
dotnet new install Microsoft.NET.Runtime.WebAssembly.Templates

- 卸载模板包
bash
# 列出已安装的模板及其详细信息
dotnet new --uninstall
# 卸载 WebAssembly 模板包
dotnet new uninstall Microsoft.NET.Runtime.WebAssembly.Templates

- 更新已安装的模板包
bash
dotnet new update -h
# 检查已安装模板包更新
dotnet new update --check-only
# 更新已安装模板包
dotnet new update
dotnet build
- 生成项目及其所有依赖项
bash
dotnet build -h
dotnet run
- 无需任何显式编译或启动命令即可运行源代码
bash
dotnet run -h
dotnet run --no-build
dotnet tool
bash
dotnet tool -h
# 列出全局或本地安装的工具
dotnet tool list