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