当前位置: 首页 > news >正文

【银河麒麟系统常识】命令:dotnet build(编译)


  • 命令:
    dotnet build

  • 功能
    编译 .NET 项目或解决方案,生成可执行文件(如 DLL 或 EXE)和中间文件;

  • 主要作用
    1. 编译代码
      • 将 C#/VB/F# 等源代码编译成程序集(DLL 或 EXE)。
      • 自动解析项目的依赖项(NuGet 包、项目引用等)。
    2. 生成输出文件
      • 默认输出到 bin/{Configuration}/{TargetFramework}/ 目录(如 bin/Debug/net8.0/)。
      • 包含编译后的程序集、调试符号文件(.pdb)和依赖项。
    3. 验证项目完整性
      • 检查代码语法、类型错误和依赖项是否缺失。
    4. 支持多目标框架
      • 如果项目是多目标框架(如 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/Releasedotnet build -c Debug
–runtime <RUNTIME_IDENTIFIER>-r指定生成项目的目标运行时(win-x64/linux-x64dotnet 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/diagnosticdotnet 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运行时,这样就不需要在目标计算机上安装运行时。如果指定了运行时标识符,则默认值为truedotnet build --self-contained -r linux-x64
–no-self-contained将应用程序发布为依赖框架的应用程序,目标计算机上必须安装兼容的.NET运行时才能运行该应用程序dotnet build --no-self-contained -r win-x64
–arch <arch>-a目标体系结构(x64/arm64dotnet build --arch x64
–os <os>目标操作系统(linux/windowsdotnet 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/

  • 示例
    在这里插入图片描述

相关文章:

  • IsaacLab最新2025教程(7)-引入IK solver控制机器人
  • gitee 常用指令
  • 【Android】SharedMemory获取文件描述符
  • 《熔化焊接与热切割作业》备考建议
  • 怎么把 GitHub 中的 R 包项目手动安装到 conda 环境中?
  • C++ 初阶总复习 (持续更新)
  • C++11中引入的比较常用的新特性讲解(上)
  • 如何改掉经常说“然后”、“就是”、“嗯”的毛病
  • 解决Compose编译报错问题 couldn‘t find inline method Landroidx/compose/...
  • arm对应hex_ASCII与HEX对照转换表
  • 程序化广告行业(34/89):移动端特色广告与创意策略探秘
  • Uncert-CoT: 计算不确定性判断是否启用CoT
  • Slidev使用(一)安装
  • MySQL的sql语句后/G是什么作用?
  • Mysql增删改查
  • 怎样实现CAN数据的接收和发送?
  • 基于Python的3D贴图制作技术研究与实践
  • 数据库基础知识点(系列五)
  • 深入了解 Git Merge:用法、类型与合并冲突处理
  • GPT Researcher 的win docker安装攻略
  • 一周文化讲座|城市移民与数字时代的新工作
  • 七大交响乐团在沪“神仙斗法”,时代交响奏出何等时代新声
  • 对话哭泣照被恶意盗用成“高潮针”配图女生:难过又屈辱
  • 菲护卫艇企图侵闯中国黄岩岛领海,南部战区:依法依规跟踪监视、警告驱离
  • 咖啡戏剧节举办第五年,上生新所“无店不咖啡,空间皆可戏”
  • 保利发展前4个月销售额约876亿元,单月斥资128亿元获4个项目