SolutionBuild.StartupProjects SolutionBuild.StartupProjects SolutionBuild.StartupProjects SolutionBuild.StartupProjects SolutionBuild.StartupProjects Property


Gets or sets the names of projects that are entry points for the application.

 property System::Object ^ StartupProjects { System::Object ^ get(); void set(System::Object ^ value); };
 property Platform::Object ^ StartupProjects { Platform::Object ^ get(); void set(Platform::Object ^ value); };
[get: System.Runtime.InteropServices.DispId(7)]
[set: System.Runtime.InteropServices.DispId(7)]
public object StartupProjects { get; set; }
member this.StartupProjects : obj with get, set
Public Property StartupProjects As Object

Property Value

An object containing the names of projects that are the entry points for the application.


public void CodeExample(DTE2 dte)  
        SolutionBuild sb = dte.Solution.SolutionBuild;  
        SolutionConfiguration sc = 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.";  
    catch(Exception ex)  


StartupProjects contains a list of project name strings that "start" when the Run command is issued. Each project and language defines what starting means as well as what occurs when a project is started. For example, a Visual C++ project starts by executing the main() function, and Visual Basic executes Sub Main() or a startup form. Other projects and languages use a project property for a class or function name, while others use an interface that must be implemented, and so on.

Applies to