说明:本文是个人翻译文章,由于个人水平有限,有不对的地方请大家帮忙更正。
原文: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
忽略项目到项目的引用,只有生成指定生成的根项目。