Поделиться через


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 (Унаследовано от SolutionConfiguration.)
Открытое свойство Collection Возвращает коллекцию SolutionConfigurations, содержащую объект SolutionConfiguration, поддерживающий это свойство.
Открытое свойство DTE (Унаследовано от SolutionConfiguration.)
Открытое свойство DTE Возвращает объект расширения верхнего уровня.
Открытое свойство Name (Унаследовано от SolutionConfiguration.)
Открытое свойство Name Возвращает имя объекта.
Открытое свойство PlatformName Возвращает тип ЦП целевой платформы для конфигурации.
Открытое свойство SolutionContexts (Унаследовано от SolutionConfiguration.)
Открытое свойство SolutionContexts Возвращает коллекцию объектов SolutionContext.

В начало страницы

Методы

  Имя Описание
Открытый метод Activate() (Унаследовано от SolutionConfiguration.)
Открытый метод Activate() Перемещает фокус на текущий элемент.
Открытый метод Delete() (Унаследовано от SolutionConfiguration.)
Открытый метод Delete() Удаляет объект SolutionConfiguration из коллекции.

В начало страницы

Заметки

Для каждого проекта SolutionConfiguration также представляет, какая конфигурация проекта и платформа обеспечивают контекст для операции построения, а также свойства времени разработки в среде, например, завершение операторов в редакторе.

Примеры

В этом примере отображаются имена всех элементов конфигураций решения, а имени конфигурации первого элемента задается значение "Release". Перед запуском этой надстройки откройте проект в интегрированной среде разработки Visual Studio.

Дополнительные сведения о запуске этого примера в виде надстройки см. в разделе Практическое руководство. Компиляция и выполнение примеров кода модели объектов автоматизации.

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 - пространство имен