- 功能
编译 .NET 项目或解决方案,生成可执行文件(如 DLL 或 EXE)和中间文件;
- 主要作用
- 编译代码
- 将 C#/VB/F# 等源代码编译成程序集(DLL 或 EXE)。
- 自动解析项目的依赖项(NuGet 包、项目引用等)。
- 生成输出文件
- 默认输出到 bin/{Configuration}/{TargetFramework}/ 目录(如 bin/Debug/net8.0/)。
- 包含编译后的程序集、调试符号文件(.pdb)和依赖项。
- 验证项目完整性
- 支持多目标框架
- 如果项目是多目标框架(如 net8.0;net6.0),会为每个框架生成输出。
- 格式
dotnet build [<PROJECT | SOLUTION>...] [options]
- [<PROJECT | SOLUTION>…]:参数列表(要操作的项目或解决方案文件。如果没有指定文件,则命令将在当前目录里搜索一个文件)
- [options]:选项
参数 | 缩写 | 作用 | 示例 |
---|
–use-current-runtime | | 将当前运行时用作目标运行时 | dotnet build --use-current-runtime |
–framework <FRAMEWORK> | -f | 指定生成项目的目标框架 | dotnet build --framework net8.0 |
–configuration <CONFIGURATION> | -c | 指定生成项目的编译配置(Debug /Release ) | dotnet build -c Debug |
–runtime <RUNTIME_IDENTIFIER> | -r | 指定生成项目的目标运行时(win-x64 /linux-x64 ) | dotnet build --runtime linux-x64 |
–version-suffix <VERSION_SUFFIX> | | 设置生成版本的后缀 | dotnet build --version-suffix beta |
–no-restore | | 跳过自动还原 NuGet 包 | dotnet build --no-restore |
–interactive | | 允许命令停止和等待用户输入或操作(例如:用以完成身份验证) | dotnet build --interactive |
–verbosity <LEVEL> | -v | 控制日志详细程度(quiet /minimal /normal /detailed /diagnostic ) | dotnet build -v minimal |
–output <OUTPUT_DIR> | -o | 指定输出目录 | dotnet build -o ./publish/ |
–no-incremental | | 禁用增量编译(强制完整重新编译) | dotnet build --no-incremental |
–no-dependencies | | 仅生成指定项目 | dotnet build --no-dependencies |
–nologo | | 不显示启动版权标志或版权消息 | dotnet build --nologo |
–self-contained | –sc | 随应用程序一起发布.NET运行时,这样就不需要在目标计算机上安装运行时。如果指定了运行时标识符,则默认值为true | dotnet build --self-contained -r linux-x64 |
–no-self-contained | | 将应用程序发布为依赖框架的应用程序,目标计算机上必须安装兼容的.NET运行时才能运行该应用程序 | dotnet build --no-self-contained -r win-x64 |
–arch <arch> | -a | 目标体系结构(x64 /arm64 ) | dotnet build --arch x64 |
–os <os> | | 目标操作系统(linux /windows ) | dotnet build --os linux |
–help | -?,-h | 显示命令行帮助 | dotnet build -h |
# 生成 Linux-x64 的 Release 自包含应用,并指定输出目录
dotnet build /home/lxh/ConsolePingcha/ConsolePingcha.csproj -c Release -r linux-x64 --self-contained -o ./publish/
- 示例
