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


SolutionBuild2 - интерфейс

Предоставляет корень модели автоматизации построения на уровне решения.

Пространство имен:  EnvDTE80
Сборка:  EnvDTE80 (в EnvDTE80.dll)

Синтаксис

'Декларация
<GuidAttribute("C2516E4B-5D69-459D-B539-C95A71C4FA3D")> _
Public Interface SolutionBuild2 _
    Inherits SolutionBuild
[GuidAttribute("C2516E4B-5D69-459D-B539-C95A71C4FA3D")]
public interface SolutionBuild2 : SolutionBuild
[GuidAttribute(L"C2516E4B-5D69-459D-B539-C95A71C4FA3D")]
public interface class SolutionBuild2 : SolutionBuild
[<GuidAttribute("C2516E4B-5D69-459D-B539-C95A71C4FA3D")>]
type SolutionBuild2 =  
    interface
        interface SolutionBuild
    end
public interface SolutionBuild2 extends SolutionBuild

Тип SolutionBuild2 предоставляет следующие члены.

Свойства

  Имя Описание
Открытое свойство ActiveConfiguration (Унаследовано от SolutionBuild.)
Открытое свойство ActiveConfiguration Возвращает объект SolutionConfiguration, активный в данный момент.
Открытое свойство BuildDependencies (Унаследовано от SolutionBuild.)
Открытое свойство BuildDependencies Возвращает коллекцию BuildDependencies, которая позволяет указывать зависимости одних проектов от других.
Открытое свойство BuildState (Унаследовано от SolutionBuild.)
Открытое свойство BuildState Возвращает сведения о том, запускалось ли построение во время текущего сеанса работы в среде, осуществляется ли построение в текущий момент или оно уже завершено.
Открытое свойство DTE (Унаследовано от SolutionBuild.)
Открытое свойство DTE Возвращает объект расширения верхнего уровня.
Открытое свойство LastBuildInfo (Унаследовано от SolutionBuild.)
Открытое свойство LastBuildInfo Возвращает число проектов, которые не удалось собрать.
Открытое свойство LastPublishInfo Получает число успешно опубликованных элементов.
Открытое свойство Parent (Унаследовано от SolutionBuild.)
Открытое свойство Parent Получает непосредственный родительский объект для объекта SolutionBuild.
Открытое свойство PublishState Возвращает состояние операции публикации.
Открытое свойство SolutionConfigurations (Унаследовано от SolutionBuild.)
Открытое свойство SolutionConfigurations Получает коллекцию объектов SolutionConfiguration.
Открытое свойство StartupProjects (Унаследовано от SolutionBuild.)
Открытое свойство StartupProjects Возвращает или задает имена проектов, являющихся точками входа для данного приложения.

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

Методы

  Имя Описание
Открытый метод Build(Boolean) (Унаследовано от SolutionBuild.)
Открытый метод Build(Boolean) Вызывает начало построения активной конфигурации решения.
Открытый метод BuildProject(String, String, Boolean) (Унаследовано от SolutionBuild.)
Открытый метод BuildProject(String, String, Boolean) Осуществляет построение указанного проекта и его зависимостей в контексте указанной конфигурации решения.
Открытый метод Clean(Boolean) (Унаследовано от SolutionBuild.)
Открытый метод Clean(Boolean) Удаляет все созданные компилятором для отмеченных проектов вспомогательные файлы.
Открытый метод Debug() (Унаследовано от SolutionBuild.)
Открытый метод Debug() Начинает отладку решения.
Открытый метод Deploy(Boolean) (Унаследовано от SolutionBuild.)
Открытый метод Deploy(Boolean) Вызывает развертывание каждого отмеченного к развертыванию проекта в активной конфигурации решения.
Открытый метод DeployProject Развертывает проект.
Открытый метод Publish Запускает операцию публикации.
Открытый метод PublishProject Публикует проект.
Открытый метод Run() (Унаследовано от SolutionBuild.)
Открытый метод Run() Вызывает выполнение активной конфигурации решения.

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

Заметки

Объект SolutionBuild предоставляет доступ ко всем конфигурациям решений и их свойствам, зависимостям построения проекта и к автозагружаемым проектам.

Аналогом объекта SolutionBuild на уровне проекта и элемента является объект ConfigurationManager.

Примеры

В этом примере для первого элемента конфигураций решений задается значение "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)
    SolutionBuild2BuildExample(_applicationObject)
End Sub
Sub SolutionBuild2BuildExample(ByVal dte As DTE2)
    ' Open a solution in Visual Studio before running this example.
    Try
        Dim soln As Solution2 = CType(_applicationObject.Solution, _
        Solution2)
        Dim sb As SolutionBuild2
        Dim bld As BuildDependencies
        sb = CType(soln.SolutionBuild, SolutionBuild2)
        bld = sb.BuildDependencies
        MsgBox("The project " & bld.Item(1).Project.Name & " has "  _
        & bld.Count.ToString() & " build dependencies.")
        MsgBox("Set the configuration to release and build...")
        sb.SolutionConfigurations.Item("Release").Activate()
        sb.Build()
    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;
    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);
    }
}

См. также

Ссылки

EnvDTE80 - пространство имен