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