Edit

Share via


Compile and build in Visual Studio

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

You can use any of the following methods to build an application: the Visual Studio IDE, the MSBuild command-line tools, and Azure Pipelines:

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.
CMake - Build C++ projects using the CMake tool
- Use the same build system across Linux and Windows platforms.
MSBuild command line - Build projects without installing Visual Studio.
- Run multi-processor builds for all project types.
- Customize most areas of the build system.
Azure Pipelines - Automate your build process as part of a continuous integration/continuous delivery pipeline.
- Apply automated tests with every build.
- Employ virtually unlimited cloud-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 CMake, MSBuild and Azure Pipelines, respectively.

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 or 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 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: