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