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


SolutionBuild2.BuildProject - метод (String, String, Boolean)

Обновлен: Ноябрь 2007

Осуществляет построение указанного проекта и его зависимостей в контексте указанной конфигурации решения.

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

Синтаксис

'Декларация
Sub BuildProject ( _
    SolutionConfiguration As String, _
    ProjectUniqueName As String, _
    WaitForBuildToFinish As Boolean _
)
'Применение
Dim instance As SolutionBuild2
Dim SolutionConfiguration As String
Dim ProjectUniqueName As String
Dim WaitForBuildToFinish As Boolean

instance.BuildProject(SolutionConfiguration, _
    ProjectUniqueName, WaitForBuildToFinish)
void BuildProject(
    string SolutionConfiguration,
    string ProjectUniqueName,
    bool WaitForBuildToFinish
)
void BuildProject(
    String^ SolutionConfiguration, 
    String^ ProjectUniqueName, 
    bool WaitForBuildToFinish
)
function BuildProject(
    SolutionConfiguration : String, 
    ProjectUniqueName : String, 
    WaitForBuildToFinish : boolean
)

Параметры

  • SolutionConfiguration
    Тип: System.String
    Обязательный. Имя новой конфигурации решения, которая предоставляет контекст для построения данного проекта.
  • ProjectUniqueName
    Тип: System.String
    Обязательный. Проект для построения.
  • WaitForBuildToFinish
    Тип: System.Boolean
    Необязательный. Определяет, будет ли ожидание завершения построения. Если true, то ожидается завершение построения, в противном случае — не ожидается.

Реализации

SolutionBuild.BuildProject(String, String, Boolean)

Заметки

Немедленно возвращается BuildProject. Чтобы определить время завершения операции построения решения, следует обратиться к событию OnBuildDone.

Метод BuildProject не влияет на интерфейс пользователя, то есть не изменяет активную конфигурацию решения или выбранный проект. Чтобы выполнить построение проекта относительно активной конфигурации решения, следует использовать DTE.SolutionBuild.ActiveConfiguration.Name.

BuildProject влияет на интерфейс пользователя в зависимости от флага DTE.SuppressUI так, что строка состояния мерцает, а Окно вывода и Список задач всегда обновляются.

BuildProject выполняет построение указанного проекта и всех его зависимостей, которые проверяются перед их построением в указанной конфигурации решения.

Примеры

В этом примере выполняется построение проекта в режиме отладки. Перед запуском этой надстройки откройте проект в интегрированной среде разработки 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)
    SolutionBuildProjectExample(_applicationObject)
End Sub
Sub SolutionBuildProjectExample(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
        Dim p1 As Project = soln.Projects.Item(1)
        sb = CType(soln.SolutionBuild, SolutionBuild2)
        bld = sb.BuildDependencies
        MsgBox("The project " & bld.Item(1).Project.Name & " has "  _
        & bld.Count.ToString() & " build dependencies.")
        MsgBox("Building the project in debug mode...")
        sb.BuildProject("Debug", p1.FullName, True)
    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;
    SolutionBuildProjectExample(_applicationObject);
}
public void SolutionBuildProjectExample(DTE2 dte)
{
    try
    {
        Solution2 soln = (Solution2)_applicationObject.Solution;
        SolutionBuild2 sb;
        BuildDependencies bld;
        Project p1 = soln.Projects.Item(1);
        // 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("Building the project in debug mode...");
        sb.BuildProject("Debug", p1.FullName,true);
    }
    catch (Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
}

Разрешения

См. также

Ссылки

SolutionBuild2 Интерфейс

SolutionBuild2 - члены

BuildProject - перегрузка

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