.NET CLI 备忘清单

本备忘单总结了 .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 命令

命令说明示例
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

另请参阅