名称
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
忽略项目到项目的引用,只有生成指定生成的根项目。