Share via


SolutionConfiguration2 介面

更新:2007 年 11 月

代表建置方案的特定方式相關資訊。

命名空間:  EnvDTE80
組件:  EnvDTE80 (在 EnvDTE80.dll 中)

語法

<GuidAttribute("1099AAA6-4169-430D-9F57-0B4C76624B3B")> _
Public Interface SolutionConfiguration2 _
    Implements SolutionConfiguration

Dim instance As SolutionConfiguration2
[GuidAttribute("1099AAA6-4169-430D-9F57-0B4C76624B3B")]
public interface SolutionConfiguration2 : SolutionConfiguration
[GuidAttribute(L"1099AAA6-4169-430D-9F57-0B4C76624B3B")]
public interface class SolutionConfiguration2 : SolutionConfiguration
public interface SolutionConfiguration2 extends SolutionConfiguration

備註

每個 SolutionConfiguration 專案同時還代表,提供環境中建置作業內容和設計階段功能內容的專案組態與平台,例如編輯器內的陳述式完成。

範例

這個範例會顯示每個方案組態項目的名稱,並將第一個項目的組態名稱設為「發行」。執行這個增益集之前,先開啟 Visual Studio 整合式開發環境 (IDE) 中的專案。

如需如何像執行增益集一般,執行這個範例的詳細資訊,請參閱 HOW TO:編譯和執行 Automation 物件模型程式碼範例

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());
    }
}

請參閱

參考

SolutionConfiguration2 成員

EnvDTE80 命名空間