SolutionBuild2.BuildProject - метод (String, String, Boolean)
Осуществляет построение указанного проекта и его зависимостей в контексте указанной конфигурации решения.
Пространство имен: EnvDTE80
Сборка: EnvDTE80 (в EnvDTE80.dll)
Синтаксис
'Декларация
Sub BuildProject ( _
SolutionConfiguration As String, _
ProjectUniqueName As String, _
WaitForBuildToFinish As Boolean _
)
void BuildProject(
string SolutionConfiguration,
string ProjectUniqueName,
bool WaitForBuildToFinish
)
void BuildProject(
String^ SolutionConfiguration,
String^ ProjectUniqueName,
bool WaitForBuildToFinish
)
abstract BuildProject :
SolutionConfiguration:string *
ProjectUniqueName:string *
WaitForBuildToFinish:bool -> unit
function BuildProject(
SolutionConfiguration : String,
ProjectUniqueName : String,
WaitForBuildToFinish : boolean
)
Параметры
- SolutionConfiguration
Тип: System.String
Обязательный.Имя новой конфигурации решения, которая предоставляет контекст для построения данного проекта.
- ProjectUniqueName
Тип: System.String
Обязательный.Проект для построения.
- WaitForBuildToFinish
Тип: System.Boolean
Необязательный.Определяет, будет ли ожидание завершения построения.Если true, то ожидается завершение построения, в противном случае — не ожидается.
Заметки
Немедленно возвращается 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);
}
}
Безопасность платформы .NET Framework
- Полное доверие для непосредственно вызывающего метода. Этот член не может быть использован частично доверенным кодом. Дополнительные сведения см. в разделе Использование библиотек из не вполне надежного кода.