IVsSolutionBuildManager2 Interface


Allows solutions to manage configuration information.

Namespace:   Microsoft.VisualStudio.Shell.Interop
Assembly:  Microsoft.VisualStudio.Shell.Interop (in Microsoft.VisualStudio.Shell.Interop.dll)

public interface IVsSolutionBuildManager2 : IVsSolutionBuildManager

System_CAPS_pubmethodAdviseUpdateSolutionEvents(IVsUpdateSolutionEvents, UInt32)

Adds the caller to the list of listeners for IVsUpdateSolutionEvents2 events.


Forces dependencies to be recalculated.


Enables or disables the Cancel menu item.


Cancels the update solution configuration.


Launches the startup project specified by the solution as the debug project.

System_CAPS_pubmethodFindActiveProjectCfg(IntPtr, IntPtr, IVsHierarchy, IVsProjectCfg[])

Determines the project configuration that is currently active.


Obsolete method. Do not use.


Obsolete method. Do not use.


Programmatic method to get the startup project that will be run when the F5 key is pressed.

System_CAPS_pubmethodGetProjectDependencies(IVsHierarchy, UInt32, IVsHierarchy[], UInt32[])

Returns a list of projects that the given hierarchy depends on.


Obsolete method. Do not use.


Obsolete method. Do not use.


Determines if the build manager is busy.

System_CAPS_pubmethodQueryDebugLaunch(UInt32, Int32)

Determines whether or not the F5 (debug start) key should be enabled.

System_CAPS_pubmethodQueryProjectDependency(IVsHierarchy, IVsHierarchy, Int32)

Checks to see if one project is dependent upon another.

System_CAPS_pubmethodSaveDocumentsBeforeBuild(IVsHierarchy, UInt32, UInt32)

A project calls this method to ensure that the buildable/runnable components of projects are saved before starting build or run operations.


Sets the startup project that will be run when the F5 key is pressed.

System_CAPS_pubmethodStartSimpleUpdateProjectConfiguration(IVsHierarchy, IVsHierarchy, String, UInt32, UInt32, Int32)

This is a variant of the update command that allows you to build, clean, deploy, or launch a single project configuration.

System_CAPS_pubmethodStartSimpleUpdateSolutionConfiguration(UInt32, UInt32, Int32)

Builds, cleans, or deploys a list of solutions.

System_CAPS_pubmethodStartUpdateProjectConfigurations(UInt32, IVsHierarchy[], UInt32, Int32)

Builds, cleans, or deploys a list of projects.

System_CAPS_pubmethodStartUpdateSpecificProjectConfigurations(UInt32, IVsHierarchy[], IVsCfg[], UInt32[], UInt32[], UInt32[], UInt32, Int32)

Use this method to maintain total control of a build process.


Removes the caller from the list of listeners for IVsUpdateSolutionEvents2 events.


Checks for any build, clean, or deploy action in progress.

Implemented by the environment, IVsSolutionBuildManager and IVsSolutionBuildManager2 orchestrate the building of projects within the solution. The solution build manager manages the set of dependencies between projects at the project level and will build those projects in the correct order based on those dependencies.

Solution build dependencies are set using the Solution Configuration property pages. The projects themselves supply the build system with information relating to their own items and the dependencies between those items.

Project build dependencies are set using the Project Configuration property pages. For more information relating to Property Pages and setting configurations, see Property Pages and Managing Configuration Options.

Other callers of this interface would be packages providing add-ins that want to control the build process and programmatically cause some build operations to occur at specific times. For example, the debug component of the environment calls QueryDebugLaunch to programmatically enable and disable the F5 key, and DebugLaunch to start the debug process that was set as the solution startup project.

Notes to Implementers:

Implemented by the environment.

Notes to Callers:

Called by the environment or a parent project that needs to manage build operations for child (nested) projects. There could also be other interested packages that want to track build events, so they would call AdviseUpdateSolutionEvents to listen for and react to those build events.

You can obtain an IVsSolutionBuildManager2 interface from the SVsSolutionBuildManager service.

Return to top