Freigeben über


SolutionBuild2.StartupProjects-Eigenschaft

Ruft die Namen von Projekten ab, die Einstiegspunkte für die Anwendung sind, oder legt diese fest.

Namespace:  EnvDTE80
Assembly:  EnvDTE80 (in EnvDTE80.dll)

Syntax

'Declaration
Property StartupProjects As Object
    Get
    Set
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)

Eigenschaftswert

Typ: System.Object
Ein Objekt mit den Namen von Projekten, die die Einstiegspunkte für die Anwendung sind.

Implementiert

SolutionBuild.StartupProjects

Hinweise

StartupProjects enthält eine Liste mit Namenszeichenfolgen für Projekte, die beim Ausgeben des Run-Befehls gestartet werden. In jedem Projekt und jeder Sprache sind die Bedeutung von "Starten" sowie die Abläufe beim Starten eines Projekts definiert. Ein Visual C++-Projekt wird z. B. durch Ausführen der main()-Funktion gestartet, und in Visual Basic wird Sub Main() oder ein Startformular ausgeführt. In manchen Projekten und Sprachen wird eine Projekteigenschaft als Klassen- oder Funktionsname verwendet, in anderen wird eine Schnittstelle verwendet, die implementiert sein muss, usw.

Beispiele

In diesem Beispiel wird der Buildstatus für jede aktive Startkonfiguration bestimmt. Öffnen Sie vor dem Ausführen des Add-Ins in der integrierten Entwicklungsumgebung (Integrated Development Environment – IDE) von Visual Studio ein Projekt.

Weitere Informationen zum Ausführen dieses Beispiels als Add-In finden Sie unter Gewusst wie: Kompilieren und Ausführen der Codebeispiele für das Automatisierungsobjektmodell.

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-Sicherheit

Siehe auch

Referenz

SolutionBuild2 Schnittstelle

StartupProjects-Überladung

EnvDTE80-Namespace