本备忘单总结了 .NET 命令行接口 (CLI) 工具,以供快速参考
.NET CLI 命令由 驱动程序(dotnet)、命令、参数 和 选项 组成。典型流程如下:
# 创建控制台应用
dotnet new console 
# 构建并指定输出目录
dotnet build --output ./build_output 
# 运行构建结果
dotnet ./build_output/my_app.dll 
| 命令 | 说明 | 示例 | 
|---|---|---|
new | 创建新项目或文件模板 | dotnet new console | 
restore | 还原项目依赖项 | dotnet restore | 
build | 构建项目 | dotnet build | 
publish | 发布应用以部署 | dotnet publish -c Release -o ./publish | 
run | 运行项目 | dotnet run | 
test | 运行测试(使用 xUnit/NUnit 等) | dotnet test | 
vstest | 运行已编译的测试程序集 | dotnet vstest ./bin/Debug/test.dll | 
pack | 打包为 NuGet 包 | dotnet pack | 
migrate | 迁移旧版项目(已弃用) | dotnet migrate | 
clean | 清理构建输出 | dotnet clean | 
sln | 管理 .sln 解决方案文件 | dotnet sln add ./MyApp/MyApp.csproj | 
help | 显示帮助信息 | dotnet help build | 
store | 预编译和缓存程序集(高级用法) | dotnet store | 
watch | 监视文件更改并自动运行命令 | dotnet watch run | 
format | 格式化代码(自 .NET 6 起支持) | dotnet format | 
| 命令 | 说明 | 示例 | 
|---|---|---|
package add | 添加 NuGet 包依赖 | dotnet add package Newtonsoft.Json | 
package list | 列出项目中的所有包依赖 | dotnet list package | 
package remove | 移除 NuGet 包依赖 | dotnet remove package Newtonsoft.Json | 
package search | 搜索 NuGet 包 | dotnet search package Newtonsoft.Json | 
reference add | 添加项目引用(*.csproj) | dotnet add reference ../CommonLib/CommonLib.csproj | 
reference list | 列出当前项目引用的其他项目 | dotnet list reference | 
reference remove | 移除项目引用 | dotnet remove reference ../CommonLib/CommonLib.csproj | 
| 命令 | 说明 | 示例 | 
|---|---|---|
workload | 顶级命令,显示所有 workload 子命令 | dotnet workload --help | 
workload install | 安装指定的工作负荷(如 MAUI、Web 等) | dotnet workload install maui | 
workload uninstall | 卸载指定的工作负荷 | dotnet workload uninstall maui | 
workload update | 更新所有已安装的工作负荷 | dotnet workload update | 
workload list | 显示当前已安装的工作负荷 | dotnet workload list | 
workload restore | 还原项目所需的工作负荷 | dotnet workload restore | 
workload search | 搜索可用的工作负荷 | dotnet workload search | 
workload repair | 修复已安装的工作负荷 | dotnet workload repair | 
workload config | 配置自定义源、缓存路径等(.NET 8.0.400+) | dotnet workload config list | 
| 命令 | 说明 | 示例 | 
|---|---|---|
nuget delete | 从源中删除一个 NuGet 包 | dotnet nuget delete MyLib 1.0.0 -s https://api.nuget.org/v3/index.json | 
nuget locals | 清理 NuGet 缓存 | dotnet nuget locals all --clear | 
nuget push | 将 NuGet 包推送到服务器(如 nuget.org) | dotnet nuget push MyLib.1.0.0.nupkg -k API_KEY -s https://api.nuget.org/v3/index.json | 
nuget add source | 添加一个新的 NuGet 源 | dotnet nuget add source https://myserver/index.json -n MySource | 
nuget disable source | 禁用一个现有的 NuGet 源 | dotnet nuget disable source MySource | 
nuget enable source | 启用已禁用的 NuGet 源 | dotnet nuget enable source MySource | 
nuget list source | 列出所有已配置的 NuGet 源 | dotnet nuget list source | 
nuget remove source | 移除已配置的 NuGet 源 | dotnet nuget remove source MySource | 
nuget update source | 更新现有 NuGet 源信息 | dotnet nuget update source MySource -s https://new-url | 
nuget verify | 验证 NuGet 包签名(.NET 5+) | dotnet nuget verify MyLib.1.0.0.nupkg | 
nuget trust | 管理受信任的签名证书(.NET 5+) | dotnet nuget trust list | 
nuget sign | 对 NuGet 包进行签名(.NET 6+) | dotnet nuget sign MyLib.1.0.0.nupkg --certificate-path cert.pfx | 
package search | 搜索 NuGet 包(.NET 8.0.2xx+) | dotnet package search Newtonsoft.Json | 
nuget why | 显示为什么某个包被安装(.NET 8.0.4xx+) | dotnet nuget why Newtonsoft.Json | 
| 命令 | 说明 | 示例 | 
|---|---|---|
sdk check | 显示可用的 SDK/运行时版本,并检测更新 | dotnet sdk check | 
msbuild | 使用 MSBuild 构建项目(提供更多构建自定义性) | dotnet msbuild /t:Clean;Build /p:Configuration=Release | 
build-server | 管理后端构建服务器(如清理缓存、关闭等) | dotnet build-server shutdown | 
dev-certs | 管理开发 HTTPS 证书 | dotnet dev-certs https --trust | 
dotnet install script | 获取可安装指定版本 .NET 的脚本(Linux/macOS) | curl -sSL https://dot.net/v1/dotnet-install.sh | bash | 
| 命令 | 说明 | 示例 | 
|---|---|---|
tool install | 安装 .NET 工具(本地或全局) | dotnet tool install -g dotnet-ef | 
tool list | 列出已安装的工具 | dotnet tool list -g | 
tool update | 更新指定工具 | dotnet tool update -g dotnet-ef | 
tool restore | 恢复项目中定义的工具(基于 manifest) | dotnet tool restore | 
tool run | 运行本地安装的工具 | dotnet tool run my-tool | 
tool uninstall | 卸载已安装的工具 | dotnet tool uninstall -g dotnet-ef | 
tool search | 搜索 NuGet 上可用的工具 | dotnet tool search dotnet-ef |