Export (0) Print
Expand All

SolutionBuild2 Interface 

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

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

[GuidAttribute("C2516E4B-5D69-459D-B539-C95A71C4FA3D")] 
public interface SolutionBuild2 : SolutionBuild
/** @attribute GuidAttribute("C2516E4B-5D69-459D-B539-C95A71C4FA3D") */ 
public interface SolutionBuild2 extends SolutionBuild
GuidAttribute("C2516E4B-5D69-459D-B539-C95A71C4FA3D") 
public interface SolutionBuild2 extends SolutionBuild

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;
    SolutionBuild2BuildExample(_applicationObject);
}
public void SolutionBuild2BuildExample(DTE2 dte)
{
    try
    {
        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...");
        sb.SolutionConfigurations.Item("Release").Activate();
        sb.Build(true);
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
}
Show:
© 2014 Microsoft