主题
DotNet 常用命令速查笔记(开发必备)
一、简介
.NET 是微软推出的开源、跨平台、高性能开发框架,可用于构建 Web、桌面、移动、云、物联网等全场景应用。本笔记整合 .NET 多平台环境安装、基础配置、全场景高频命令、高级运维指令,适配 .NET Core/.NET5+/.NET6/.NET7/.NET8/.NET9/.NET10 全主流版本,覆盖开发、调试、打包、发布、运维全流程,是日常开发、服务器部署、问题排查的速查手册。
二、多平台环境安装指南
.NET 分为SDK(开发工具包,包含运行时,用于开发项目) 和 Runtime(运行时,仅用于运行项目);开发环境必须安装 SDK,生产服务器仅需安装对应运行时即可。
2.1 官方安装文档参考
Windows 安装指南:https://learn.microsoft.com/zh-cn/dotnet/core/install/windows
CentOS 安装指南:https://learn.microsoft.com/zh-cn/dotnet/core/install/linux-centos
Ubuntu 安装指南:https://learn.microsoft.com/zh-cn/dotnet/core/install/linux-ubuntu-install
2.2 Windows 安装说明
Windows 系统支持并行安装多个 .NET 版本,分为三种运行时,适配不同应用场景:
.NET 运行时:仅支持控制台类基础应用运行
.NET 桌面运行时:支持 WPF、Windows Forms 桌面应用
ASP.NET Core 运行时:支持 WebAPI、Web 网站项目运行
.NET SDK:包含以上所有运行时,开发必备
安装方式:Visual Studio 集成安装、官方安装包、WinGet 命令安装、PowerShell 脚本安装;默认安装路径:C:\Program Files\dotnet。
兼容说明:.NET8/.NET9 不再支持 Win7/Win8.1,仅支持 Win10 22H2+、Win11、主流 Windows Server 版本。
2.3 CentOS 安装步骤(CentOS7/8/Stream9/10)
适用于 CentOS 系列服务器,支持 .NET8/.NET9/.NET10 主流版本,以下以 .NET7 为例,可按需替换版本号。
bash
# 1. 添加 Microsoft 官方软件源
sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
# 2. 安装 .NET7 SDK(开发环境必备,包含运行时)
sudo yum install dotnet-sdk-7.0
# 3. 仅安装 ASP.NET Core 运行时(生产服务器仅运行项目使用)
sudo yum install aspnetcore-runtime-7.0
# 4. 仅安装基础 .NET 运行时
sudo yum install dotnet-runtime-7.0新版本 CentOS Stream/RHEL8+/9+/10+ 推荐使用 dnf 命令替代 yum 安装。
2.4 Ubuntu 安装步骤(24.04/25.04/26.04)
Ubuntu 高版本已内置 .NET 源,无需额外配置微软源,直接安装即可,以 .NET8/.NET9/.NET10 为例:
bash
# 更新软件源
sudo apt-get update
# 安装 .NET10 SDK
sudo apt-get install -y dotnet-sdk-10.0
# 安装 .NET9 SDK
sudo apt-get install -y dotnet-sdk-9.0
# 安装 ASP.NET Core 10.0 运行时(生产环境)
sudo apt-get install -y aspnetcore-runtime-10.0
# 安装基础 .NET 10.0 运行时
sudo apt-get install -y dotnet-runtime-10.0三、基础环境校验与配置
.NET 安装后无需复杂配置,环境变量自动注入,可通过以下命令校验安装是否成功、查看环境详情。
bash
# 查看当前生效的 .NET SDK 版本
dotnet --version
# 查看完整环境信息(系统架构、SDK、运行时、安装路径)
dotnet --info
# 查看本机所有已安装的 SDK 列表
dotnet --list-sdks
# 查看本机所有已安装的运行时列表
dotnet --list-runtimes
# 查看官方帮助文档
dotnet help版本切换:多版本并存时,可指定 SDK 版本执行命令:dotnet --sdk-version 6.0.100 build
四、基础环境查看命令
用于查看本地 .NET 运行环境、版本、模板等基础信息,开发环境初始化、问题排查必备。
| 命令 | 功能说明 | 常用场景 |
|---|---|---|
dotnet --version | 查看当前使用的 .NET SDK 版本 | 排查版本兼容问题、确认环境安装成功 |
dotnet --info | 查看完整环境信息(SDK、运行时、系统、架构) | 环境问题排查、适配部署环境 |
dotnet new list | 查看所有可用项目模板 | 查询支持的控制台、Web、类库、接口等模板 |
dotnet help | 查看所有 dotnet 命令帮助文档 | 陌生命令快速查用法、参数说明 |
dotnet --list-sdks | 列出本机所有已安装 SDK | 多版本管理、版本冲突排查 |
dotnet --list-runtimes | 列出本机所有已安装运行时 | 部署报错、运行时缺失排查 |
五、项目与解决方案管理命令(dotnet new)
快速创建各类 .NET 项目、解决方案、配置文件,-n 指定项目名称,-o 指定输出目录,支持多类型项目模板。
bash
# 创建控制台应用程序
dotnet new console -o MyConsoleApp
# 创建类库项目(公共代码封装)
dotnet new classlib -o MyLibrary
# 创建 ASP.NET Core Web API 项目(接口开发)
dotnet new webapi -o MyWebApi
# 创建 ASP.NET Core MVC 项目
dotnet new mvc -n MyMvc
# 创建空 ASP.NET Core 项目
dotnet new web -n MyWeb
# 创建 Blazor Server 前后端一体项目
dotnet new blazorserver -o MyBlazorApp
# 创建空白解决方案
dotnet new sln -o MySolution
# .gitignore 配置文件生成
dotnet new gitignore
# 将项目添加到解决方案
dotnet sln add MyProject.csproj
# 从解决方案移除项目
dotnet sln remove MyProject.csproj
# 查看解决方案包含的所有项目
dotnet sln list六、项目编译 & 运行命令
日常开发调试高频命令,支持编译、自定义运行、热重载、指定环境/地址运行,适配开发调试全场景。
6.1 编译命令(build)
dotnet build:编译当前项目,生成中间文件,默认 Debug 调试模式dotnet build -c Release:以 Release 正式模式编译项目,性能优化dotnet build --no-restore:跳过依赖还原,直接编译,提升编译速度dotnet build --verbosity detailed:输出详细编译日志,用于编译报错排查dotnet build --performance-summary:输出构建性能统计,优化编译效率
6.2 运行命令(run)
bash
# 基础运行(自动还原依赖、编译、启动项目)
dotnet run
# 指定 Release 模式运行
dotnet run -c Release
# 跳过编译,直接运行已有文件
dotnet run --no-build
# 热重载运行,代码修改自动生效,无需重启
dotnet watch run
# 指定运行环境(Development/Staging/Production)
dotnet run --environment Development
# 自定义监听地址和端口(解决端口占用、外网访问)
dotnet run --urls "http://*:5000;https://localhost:5001"
# 运行指定项目(多项目目录下使用)
dotnet run -p MyProject.csproj
# .NET7+ 启用AOT编译运行
dotnet run --aot
# 收集内存运行数据,用于性能排查
dotnet run --collect:Memory七、依赖与 NuGet 包管理命令
管理项目 NuGet 第三方包、项目间引用、缓存清理、包打包推送,是项目依赖维护核心命令。
7.1 依赖还原
dotnet restore:还原项目所有 NuGet 依赖包,拉取缺失依赖,解决依赖报错
7.2 NuGet 包增删查改
bash
# 安装最新版本NuGet包
dotnet add package Newtonsoft.Json
# 安装指定版本包
dotnet add package Newtonsoft.Json -v 13.0.3
# 卸载指定NuGet包
dotnet remove package Newtonsoft.Json
# 查看当前项目已安装所有包
dotnet list package
# 查看所有层级依赖包(包含间接依赖)
dotnet list package --include-transitive
# 清除全局NuGet缓存(解决包缓存异常)
dotnet nuget locals all --clear7.3 项目引用管理
dotnet add reference ../MyLib/MyLib.csproj:添加跨项目引用dotnet remove reference 项目路径:移除项目间引用dotnet list reference:查看当前项目所有引用的子项目
7.4 NuGet 包打包与推送
bash
# 打包类库为NuGet包(默认Debug)
dotnet pack
# 打包Release正式版NuGet包
dotnet pack -c Release
# 推送NuGet包到官方仓库
dotnet nuget push MyPackage.nupkg --source https://api.nuget.org/v3/index.json八、项目清理命令
清理编译缓存、垃圾文件,解决编译缓存冲突、旧文件残留导致的报错。
dotnet clean:清理 Debug/Release 编译生成的文件、缓存dotnet clean -c Release:单独清理 Release 模式编译文件
九、打包 & 发布部署命令
适配 Windows/Linux 跨平台部署,支持框架依赖部署、独立部署、单文件部署,满足生产环境各类部署需求。
bash
# 基础发布(默认Debug,依赖服务器运行时)
dotnet publish
# Release正式环境发布(生产必备)
dotnet publish -c Release
# 独立部署(包含完整运行时,服务器无需安装.NET)
dotnet publish -r win-x64 --self-contained
# 框架依赖部署(体积小,服务器需匹配运行时)
dotnet publish -r win-x64 --framework-dependent
# Windows单文件独立部署(极简部署)
dotnet publish -c Release -r win-x64 --self-contained true -p:PublishSingleFile=true常用运行时标识:win-x64(Windows64位)、linux-x64(Linux64位)、osx-x64(Mac)
十、单元测试命令
兼容 xUnit、NUnit、MSTest 主流测试框架,支持批量测试、用例过滤,适配自动化测试场景。
bash
# 运行所有单元测试用例
dotnet test
# Release模式执行测试
dotnet test -c Release
# 跳过编译,直接执行测试
dotnet test --no-build
# 过滤运行指定测试用例
dotnet test --filter MyTest