Solution2.SolutionBuild Property

Gets the SolutionBuild object for the solution, which represents the root of the build automation model at the solution level.

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

Syntax

'Declaration
ReadOnly Property SolutionBuild As SolutionBuild
SolutionBuild SolutionBuild { get; }
property SolutionBuild^ SolutionBuild {
    SolutionBuild^ get ();
}
abstract SolutionBuild : SolutionBuild
function get SolutionBuild () : SolutionBuild

Property Value

Type: EnvDTE.SolutionBuild
A SolutionBuild object.

Implements

_Solution.SolutionBuild

Examples

For information on how to run this add-in code, see How to: Compile and Run the Automation Object Model Code Examples.

The following example lists the build dependencies of an open solution, sets the build type to Release, and builds the solution.

Public Sub OnConnection(ByVal application As Object, _
 ByVal connectMode As ext_ConnectMode, ByVal addInInst As Object, _
 ByRef custom As Array) Implements IDTExtensibility2.OnConnection
    _applicationObject = CType(application, DTE2)
    _addInInstance = CType(addInInst, AddIn)
    PropertiesExample(_applicationObject)
End Sub

Sub PropertiesExample(ByVal dte As DTE2)
    ' This add-in lists the number of build dependencies,
    ' sets the configuration to Release, and builds the solution.
    ' Open a solution in Visual Studio before 
    ' running this example.
    Try
        Dim soln As Solution2 =  _
        CType(_applicationObject.Solution, Solution2)
        Dim solnBld As SolutionBuild2
        solnBld = CType(soln.SolutionBuild, SolutionBuild2)
        Dim bld As BuildDependencies
        bld = solnBld.BuildDependencies
        MsgBox("The project " & bld.Item(1).Project.Name & " has " _
        & bld.Count.ToString() & " build dependencies.")
        MsgBox("Set the configuration to release and build...")
        solnBld.SolutionConfigurations.Item("Release").Activate()
        solnBld.Build()
    Catch ex As System.Exception
        MsgBox(ex.ToString)
    End Try
End Sub
using System.Windows.Forms;
public void OnConnection(object application,
 Extensibility.ext_ConnectMode connectMode, object addInInst,
 ref System.Array custom)
{
    _applicationObject = (DTE2)application;
    _addInInstance = (AddIn)addInInst;
    // Pass the applicationObject member variable to the code example.
    ProjectExample((DTE2)_applicationObject);
}

public void ProjectExample(DTE2 dte)
{
    // This add-in sets the configuration to Release and 
    // builds the solution. 
    // Open a solution in 
    // Visual Studio before running this example.
    try
    {
        Solution2 soln = (Solution2)_applicationObject.Solution;
        SolutionBuild2 solnBld = (SolutionBuild2)soln.SolutionBuild;
        BuildDependencies bld = solnBld.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...");
        solnBld.SolutionConfigurations.Item("Release").Activate();
        solnBld.Build(true );
    }
    catch(SystemException ex)
    {
        MessageBox.Show("ERROR: " + ex);
    }
}

.NET Framework Security

See Also

Reference

Solution2 Interface

EnvDTE80 Namespace