说明:本文是个人翻译文章,由于个人水平有限,有不对的地方请大家帮忙更正。
原文:dotnet-build
翻译:dotnet-build

名称

dotnet-build -- 生成项目和所有的依赖

概要

`dotnet build [--output]

[--build-base-path] [--framework]  
[--configuration]  [--runtime] [--version-suffix]
[--build-profile]  [--no-incremental] [--no-dependencies]
[<project>]`  

描述

dotnet build 命令从源项目中的多个源文件及其依赖成生成一个二进制文件。默认情况下,该二进制文件将在中间语言(IL)中,并且将有一个 DLL 扩展。dotnet build 也将生成一个宿主应用程序运行需要的 \*.deps 大纲文件。

生成需要存在一个锁定文件,这就是说你必须预先运行 dotnet restore 在生成你的代码之时。

任何编译开始之前,生成动词分析项目及其增量安全检查的依赖。如果所有的检查都通过了,然后继续生成与项目及其依赖的增量编译;否则,它退到非渐进式编译。通过侧面的标志,用户可以选择接收他们如何能提高他们的生成时间的附加信息。

依赖图中需要编译的所有项目必须通过下面的安全检查,以便编译过程是增量:

  • 不要使用前/后编译脚本

  • 没有从 PATH 加载编译工具(例如:resgen,编译器)

  • 使用仅已知的编译器(CSC,VBC,FSC)

为了生成一个可执行的应用程序,你需要在你的 project.json 文件中的特殊配置部分:

{ 
    "compilerOptions": {
      "emitEntryPoint": true
    }
}

选项

-o, --output [DIR]

放置生成的二进制文件的目录。

-b, --build-base-path [DIR]

放置临时输出的目录。

-f, --framework [FRAMEWORK]

编译一个指定的框架。该框架需要在 project.json 文件中定义。

-c, --configuration [Debug|Release]

定义生成下的一个配置。如果省略,则默认为调试。

-r, --runtime [RUNTIME_IDENTIFIER]

生成的目标运行时。

--version-suffix [VERSION_SUFFIX]

定义了 * 应在 project.json 文件中的版本字段被更换。格式参照 NuGet 的版本风格。

--build-profile

打印出用户需要为了渐进式编译解决增量的安全检查自动打开。

--no-incremental

标志着构建为不安全的增量生成。这将关闭增量编译,迫使项目依赖关系图的干净重建。

--no-dependencies

忽略项目到项目的引用,只有生成指定生成的根项目。


Seay
767 声望32 粉丝