Compiling and building in Visual Studio

Running a build creates assemblies and executable applications from your source code at any point during a development cycle. In general, the build process is very similar across many different project types such as Windows, ASP.NET, mobile apps, and others. The build process is also very similar across programming languages such as C#, Visual Basic, C++, and F#.

By building your code often, you can quickly identify compile-time errors, such as incorrect syntax, misspelled keywords, and type mismatches. You can also quickly detect and correct run-time errors, such as logic errors and semantic errors, by frequently building and running debug versions of the code.

A successful build is essentially a validation that the application's source code contains correct syntax and that all static references to libraries, assemblies, and other components have been resolved. This produces an application executable that can then be tested for proper functioning in both a debugging environment and through a variety of manual and automated tests to validate code quality. Once the application has been fully tested, you can then compile a release version to deploy to your customers. For an introduction to this process, see Walkthrough: Building an Application.

Within the Visual Studio product family, there are three methods you can use to build an application: the Visual Studio IDE, the MSBuild command-line tools, and Team Foundation Build on Visual Studio Team Services:

Build Method Benefits
IDE - Create builds immediately and test them in a debugger.
- Run multi-processor builds for C++ and C# projects.
- Customize different aspects of the build system.
MSBuild command line - Build projects without installing Visual Studio.
- Run multi-processor builds for all project types.
- Customize most areas of the build system.
Team Foundation Build - Automate your build process as part of a continuous integration/continuous delivery pipeline.
- Apply automated tests with every build.
- Employ virtually unlimited could-based resources for build processes.
- Modify the build workflow and create build activities to perform deeply customized tasks.

The documentation in this section goes into further details of the IDE-based build process. For more information on the other methods, see MSBuild and Continuous integration and deployment, respectively.

Overview of building from the IDE

When you create a project, Visual Studio created default build configurations for the project and the solution that contains the project. These configurations define how the solutions and projects are built and deployed. Project configurations in particular are unique for a target platform (such as Windows pr Linux) and build type (such as debug or release). You can edit these configurations however you like, and can also create your own configurations as needed.

For a first introduction to building within the IDE, see Walkthrough: Building an Application.

Next, see Building and cleaning projects and solutions in Visual Studio to learn about the different aspects customizations you can make to the process. Customizations include changing output directories, specifying custom build events, managing project dependencies, managing build log files, and suppressing compiler warnings.

From there, you can explore a variety of other tasks:

See Also