This documentation is archived and is not being maintained.

SolutionBuild2 Interface

Represents the root of the build automation model at the solution level.

Namespace:  EnvDTE80
Assembly:  EnvDTE80 (in EnvDTE80.dll)

public interface SolutionBuild2 : SolutionBuild

The SolutionBuild2 type exposes the following members.

Public propertyActiveConfigurationGets the currently active SolutionConfiguration object.
Public propertyBuildDependenciesGets a BuildDependencies collection that allows you to specify which projects depend on which other projects.
Public propertyBuildStateGets whether a build has ever been started in the current environment session, whether a build is currently in progress, or whether a build has been completed.
Public propertyDTEGets the top-level extensibility object.
Public propertyLastBuildInfoGets the number of projects that failed to build.
Public propertyLastPublishInfoGets the number of items that were successfully published.
Public propertyParentGets the immediate parent object of a SolutionBuild object.
Public propertyPublishStateGets the state of a publish operation.
Public propertySolutionConfigurationsGets a collection of SolutionConfiguration objects.
Public propertyStartupProjectsGets or sets the names of projects that are entry points for the application.

Public methodBuildCauses the active solution configuration to begin building.
Public methodBuildProjectBuilds the specified project and its dependencies in the context of the specified solution configuration.
Public methodCleanDeletes all compiler-generated support files for marked projects.
Public methodDebugStarts debugging the solution.
Public methodDeployCauses each project in the active solution configuration that is marked for deployment to deploy.
Public methodDeployProjectDeploys a project.
Public methodPublishInitiates a publish operation.
Public methodPublishProjectPublishes a project.
Public methodRunCauses the active solution configuration to execute.

The SolutionBuild object provides access to all solution configurations and their properties, the project build dependencies, and startup projects.

The counterpart to the SolutionBuild object at the project and item level is the ConfigurationManager object.

This example sets the first solution configurations item to "release" and then builds the solution. Open a project in the Visual Studio integrated development environment (IDE) before running this add-in.

For more information about how to run this example as an add-in, see How to: Compile and Run the Automation Object Model Code Examples.

using EnvDTE;
using EnvDTE80;
using System.Windows.Forms;
public void OnConnection(object application, 
ext_ConnectMode connectMode, object addInInst, ref Array custom)
    _applicationObject = (DTE2)application;
    _addInInstance = (AddIn)addInInst;
public void SolutionBuild2BuildExample(DTE2 dte)
        Solution2 soln = (Solution2)_applicationObject.Solution;
        SolutionBuild2 sb;
        BuildDependencies bld;
        // Open a solution in Visual Studio before 
        // running this example.
        sb = (SolutionBuild2)soln.SolutionBuild;
        bld = sb.BuildDependencies;
        MessageBox.Show("The project " + bld.Item(1).Project.Name 
+ " has " + bld.Count.ToString() + " build dependencies.");
        MessageBox.Show("Set the configuration to release 
and build...");
    catch (Exception ex)