SolutionBuild2.StartupProjects 속성
응용 프로그램의 진입점인 프로젝트의 이름을 가져오거나 설정합니다.
네임스페이스: EnvDTE80
어셈블리: EnvDTE80(EnvDTE80.dll)
구문
‘선언
Property StartupProjects As Object
Object StartupProjects { get; set; }
property Object^ StartupProjects {
Object^ get ();
void set (Object^ value);
}
abstract StartupProjects : Object with get, set
function get StartupProjects () : Object
function set StartupProjects (value : Object)
속성 값
형식: Object
응용 프로그램의 진입점인 프로젝트의 이름이 포함된 개체입니다.
설명
StartupProjects에는 Run 명령을 실행할 때 "시작"되는 프로젝트 이름 문자열의 목록이 들어 있습니다. 각 프로젝트와 언어는 프로젝트가 시작될 때 발생하는 상황은 물론 시작의 의미를 정의합니다. 예를 들어 Visual C++ 프로젝트는 main() 함수를 실행하여 시작되고, Visual Basic에서는 Sub Main() 또는 시작 폼을 실행합니다. 그 밖의 프로젝트와 언어에서는 클래스 또는 함수 이름에 대해 프로젝트 속성을 사용하거나 구현해야 할 인터페이스를 사용하기도 합니다.
예제
이 예제에서는 활성화된 각 시작 구성의 빌드 상태를 확인합니다. 이 추가 기능을 실행하기 전에 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)
SolutionBuild2Example(_applicationObject)
End Sub
Sub SolutionBuild2Example(ByVal dte As DTE2)
' Open a solution in the Visual Studio IDE
' before running this example.
Try
Dim sb As SolutionBuild2
sb = CType(_applicationObject.Solution.SolutionBuild _
, SolutionBuild2)
Dim sc As SolutionConfiguration2
sc = CType(sb.ActiveConfiguration, SolutionConfiguration2)
Dim vsBldSt As vsBuildState
Dim msg As String = "Return relative path to startup _
projects: "
For Each s As String In CType(sb.StartupProjects, Array)
msg &= vbCr & " " & s
Next
msg &= vbCr & "SolutionConfiguration: " & sc.Name
vsBldSt = sb.BuildState
If (vsBldSt = vsBuildState.vsBuildStateDone) Then
msg &= vbCr & "A build has occurred."
ElseIf (vsBldSt = vsBuildState.vsBuildStateInProgress) Then
msg &= vbCr & "A build is in progress."
Else : msg &= vbCr & "A build has not occurred."
End If
MsgBox(msg)
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;
SolutionBuild2Example(_applicationObject);
}
public void SolutionBuild2Example(DTE2 dte)
{
try
{
SolutionBuild2 sb =
(SolutionBuild2)_applicationObject.Solution.SolutionBuild;
SolutionConfiguration2 sc =
(SolutionConfiguration2)sb.ActiveConfiguration;
vsBuildState vsBS;
string msg = "Return relative path to startup projects: ";
foreach (String s in (Array)sb.StartupProjects)
{
msg += "\n " + s;
}
msg += "\nSolutionConfiguration: " + sc.Name;
vsBS = sb.BuildState;
if (vsBS == vsBuildState.vsBuildStateDone)
msg += "\nA build has occurred.";
else if (vsBS == vsBuildState.vsBuildStateInProgress)
msg += "\nA build is in progress.";
else msg += "\nA build has not occurred.";
MessageBox.Show(msg);
}
catch(Exception ex)
{
MessageBox.Show(ex.Message);
}
}
.NET Framework 보안
- 직접 실행 호출자의 경우 완전히 신뢰합니다. 이 멤버는 부분적으로 신뢰할 수 있는 코드에서 사용할 수 없습니다. 자세한 내용은 부분 신뢰 코드에서 라이브러리 사용를 참조하세요.