dotnet-installer/src/dotnet/commands/dotnet-build
Andrew Stanton-Nurse 7cc90d9ad1 Update dotnet-build to produce portable layout
dotnet-build will produce a deps file for portable builds, and will now
create "runnable" outputs for RID-less targets

the outputs won't actually be runnable today because we need corehost
changes and to generate a deps.json file for corehost to use.
2016-03-08 11:46:15 -08:00
..
BuilderCommandApp.cs Add --no-dependency flag to build 2016-02-10 15:35:27 -08:00
CompileContext.cs Update dotnet-build to produce portable layout 2016-03-08 11:46:15 -08:00
IncrementalPreconditions.cs Add --no-dependency flag to build 2016-02-10 15:35:27 -08:00
Program.cs Remove DOTNET_HOME from the CoreCLR probe path 2016-02-12 17:03:09 -08:00
ProjectDependenciesFacade.cs Tweak error handling a little bit 2016-03-04 01:17:37 -08:00
README.md Add --no-dependency flag to build 2016-02-10 15:35:27 -08:00

dotnet-build

NAME dotnet-build -- Orchestrates the compilation of a project and all its dependencies.

SYNOPSIS dotnet build[options]

DESCRIPTION

The build verb orchestrates the compilation of a project: it gathers the dependencies of a project and decides which to compile.

Users should invoke the Build verb when they want the entire dependency graph compiled, and Compile when they want only a specific project compiled.

Before any compilation begins, the build verb analyzes the project and its dependencies for incremental safety checks. If all checks clear out, then build proceeds with incremental compilation of the project and its dependencies. Otherwise it falls back to non-incremental compilation. Via a profile flag users can choose to receive additional information on how they can improve their build times.

All the projects in the dependency graph that need compilation must pass the following safety checks in order for the compilation process to be incremental:

  • not use pre / post compile scripts
  • not load compilation tools from PATH (e.g., resgen, compilers)
  • use only known compilers (csc, vbc, fsc)

Please read the documentation on Compile for details on compilation and project structure:

Options

Build inherits all the Compile command line parameters.

In addition Compile's parameters, Build adds the following flag:

--build-profile Prints out the incremental safety checks that users need to address in order for incremental compilation to be automatically turned on.

--no-incremental Marks the build as unsafe for incrementality. This turns off incremental compilation and forces a clean rebuild of the project dependency graph.

--no-dependencies Ignore project to project references and only build the root project specified to build.