SolutionConfiguration2.SolutionContexts Property

Gets a collection of SolutionContext objects.

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

Syntax

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

Property Value

Type: EnvDTE.SolutionContexts
A SolutionContexts collection.

Implements

SolutionConfiguration.SolutionContexts

Examples

This example displays each solution configuration item's name in the SolutionContexts and sets the first one of them to "release". 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.

Imports EnvDTE
Imports EnvDTE80
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)
    SolutionConfigurationExample(_applicationObject)
End Sub
Sub SolutionConfigurationExample(ByVal dte As DTE2)
    Try
        Dim builder As SolutionBuild = _
        _applicationObject.Solution.SolutionBuild
        Dim config As SolutionConfiguration2
        config = CType(builder.ActiveConfiguration _
        , SolutionConfiguration2)
        Dim i As Integer
        Dim aStr As String
        aStr = ""
        For i = 1 To config.SolutionContexts.Count
        aStr = aStr & "The configuration item number " & i.ToString() _
            & "'s name is: " & config.SolutionContexts. _
            Item(i).ConfigurationName.ToString() & vbCr
        Next
        MsgBox("The configuration names per item are:" & vbCr & aStr)
        MsgBox("Change the configuration of item 1 to 'Release'...")
        config.SolutionContexts.Item(1).ConfigurationName = "Release"
        MsgBox("The solution configuration name for  _
        configuration item 1 is now: " &  _
        config.SolutionContexts.Item(1).ConfigurationName.ToString())
    Catch ex As System.Exception
        MsgBox(ex.ToString)
    End Try

End Sub
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;
    SolutionConfigurationExample(_applicationObject);
}
public void SolutionConfigurationExample(DTE2 dte)
{
    try
    {
        SolutionBuild builder =
 _applicationObject.Solution.SolutionBuild;
        SolutionConfiguration2 config;
        config = (SolutionConfiguration2)builder.ActiveConfiguration;
        int i;
        String aStr = null;
        for (i = 1; i <= config.SolutionContexts.Count;i++ )
        {
        aStr = aStr + "The configuration item number " + i.ToString() 
+ "'s name is: " +
 config.SolutionContexts.Item(i).ConfigurationName.ToString() + "\n";
        }
        MessageBox.Show("The configuration names per item are:" + "\n"
 + aStr);
        MessageBox.Show("Change the configuration of item 
1 to 'Release'...");
        config.SolutionContexts.Item(1).ConfigurationName = "Release";
        MessageBox.Show("The solution configuration name 
for configuration item 1 is now: " + 
config.SolutionContexts.Item(1).ConfigurationName.ToString());
    }
    catch(SystemException ex)
    {
        MessageBox.Show(ex.ToString());
    }
}

.NET Framework Security

See Also

Reference

SolutionConfiguration2 Interface

EnvDTE80 Namespace