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 | 현재 활성 SolutionConfiguration 개체를 가져옵니다. | |
BuildDependencies | 프로젝트의 종속 관계를 지정할 수 있는 BuildDependencies 컬렉션을 가져옵니다. | |
BuildState | 현재 환경 세션에서 빌드가 시작되었는지, 빌드가 현재 진행 중인지 또는 빌드가 완료되었는지 등 빌드 상태를 가져옵니다. | |
DTE | 최상위 확장성 개체를 가져옵니다. | |
LastBuildInfo | 빌드되지 못한 프로젝트 수를 가져옵니다. | |
LastPublishInfo | 성공적으로 게시된 항목의 수를 가져옵니다. | |
Parent | SolutionBuild 개체의 직계 부모를 가져옵니다. | |
PublishState | 게시 작업의 상태를 가져옵니다. | |
SolutionConfigurations | SolutionConfiguration 개체의 컬렉션을 가져옵니다. | |
StartupProjects | 응용 프로그램의 진입점인 프로젝트의 이름을 가져오거나 설정합니다. |
위쪽
메서드
이름 | 설명 | |
---|---|---|
Build | 활성 솔루션 구성이 빌드를 시작합니다. | |
BuildProject | 지정된 솔루션 구성에서 지정된 프로젝트와 해당 종속성을 빌드합니다. | |
Clean | 표시된 프로젝트에 대한 컴파일러 생성 지원 파일을 모두 삭제합니다. | |
Debug | 솔루션 디버깅을 시작합니다. | |
Deploy | 배포하도록 표시된 활성 솔루션 구성의 각 프로젝트를 모두 배포합니다. | |
DeployProject | 프로젝트를 배포합니다. | |
Publish | 게시 작업을 시작합니다. | |
PublishProject | 프로젝트를 게시합니다. | |
Run | 활성 솔루션 구성을 실행합니다. |
위쪽
설명
SolutionBuild 개체는 모든 솔루션 구성과 해당 속성, 프로젝트 빌드 종속성 및 시작 프로젝트에 대한 액세스를 제공합니다.
프로젝트 및 항목 수준에서 SolutionBuild 개체에 상응하는 개체는 ConfigurationManager 개체입니다.
예제
이 예제에서는 첫 번째 솔루션 구성 항목을 "release"로 설정한 다음 솔루션을 빌드합니다. 이 추가 기능을 실행하기 전에 Visual Studio IDE(통합 개발 환경)에서 프로젝트를 엽니다.
이 예제를 추가 기능으로 실행하는 방법에 대한 자세한 내용은 방법: 자동화 개체 모델 코드의 예제 컴파일 및 실행을 참조하십시오.
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);
}
}