Share via


SolutionConfiguration2 接口

表示有关生成解决方案的特定方法的信息。

命名空间:  EnvDTE80
程序集:  EnvDTE80(在 EnvDTE80.dll 中)

语法

声明
<GuidAttribute("1099AAA6-4169-430D-9F57-0B4C76624B3B")> _
Public Interface SolutionConfiguration2 _
    Inherits SolutionConfiguration
[GuidAttribute("1099AAA6-4169-430D-9F57-0B4C76624B3B")]
public interface SolutionConfiguration2 : SolutionConfiguration
[GuidAttribute(L"1099AAA6-4169-430D-9F57-0B4C76624B3B")]
public interface class SolutionConfiguration2 : SolutionConfiguration
[<GuidAttribute("1099AAA6-4169-430D-9F57-0B4C76624B3B")>]
type SolutionConfiguration2 =  
    interface 
        interface SolutionConfiguration 
    end
public interface SolutionConfiguration2 extends SolutionConfiguration

SolutionConfiguration2 类型公开以下成员。

属性

  名称 说明
公共属性 Collection 获取一个 SolutionConfigurations 集合,该集合包含支持此属性的 SolutionConfiguration 对象。
公共属性 DTE 获取顶级扩展性对象。
公共属性 Name 获取对象的名称。
公共属性 PlatformName 获取配置的目标平台 CPU。
公共属性 SolutionContexts 获取 SolutionContext 对象的集合。

页首

方法

  名称 说明
公共方法 Activate 将焦点移到当前项。
公共方法 Delete 从集合中移除 SolutionConfiguration 对象。

页首

备注

对于每个项目,SolutionConfiguration 还表示哪个项目配置和平台为环境中的生成操作和设计时功能(例如,编辑器中的语句完成功能)提供上下文。

示例

此示例显示每个解决方案配置项的名称,并将第一个项的配置名称设置为“release”。 在运行此外接程序之前,在 Visual Studio 集成开发环境 (IDE) 中打开项目。

有关如何作为外接程序运行此示例的更多信息,请参见 如何:编译和运行自动化对象模型代码示例

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

请参阅

参考

EnvDTE80 命名空间