Share via


IVsSolutionBuildManager2 Interface

Allows solutions to manage configuration information.

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

Syntax

'Declaration
<InterfaceTypeAttribute()> _
<GuidAttribute("80353F58-F2A3-47B8-B2DF-0475E07BB1C6")> _
Public Interface IVsSolutionBuildManager2 _
    Inherits IVsSolutionBuildManager
[InterfaceTypeAttribute()]
[GuidAttribute("80353F58-F2A3-47B8-B2DF-0475E07BB1C6")]
public interface IVsSolutionBuildManager2 : IVsSolutionBuildManager
[InterfaceTypeAttribute()]
[GuidAttribute(L"80353F58-F2A3-47B8-B2DF-0475E07BB1C6")]
public interface class IVsSolutionBuildManager2 : IVsSolutionBuildManager
[<InterfaceTypeAttribute()>]
[<GuidAttribute("80353F58-F2A3-47B8-B2DF-0475E07BB1C6")>]
type IVsSolutionBuildManager2 =  
    interface 
        interface IVsSolutionBuildManager 
    end
public interface IVsSolutionBuildManager2 extends IVsSolutionBuildManager

The IVsSolutionBuildManager2 type exposes the following members.

Methods

  Name Description
Public method AdviseUpdateSolutionEvents Adds the caller to the list of listeners for IVsUpdateSolutionEvents2 events.
Public method CalculateProjectDependencies Forces dependencies to be recalculated.
Public method CanCancelUpdateSolutionConfiguration Enables or disables the Cancel menu item.
Public method CancelUpdateSolutionConfiguration Cancels the update solution configuration.
Public method DebugLaunch Launches the startup project specified by the solution as the debug project.
Public method FindActiveProjectCfg Determines the project configuration that is currently active.
Public method get_CodePage Obsolete method. Do not use.
Public method get_IsDebug Obsolete method. Do not use.
Public method get_StartupProject Programmatic method to get the startup project that will be run when the F5 key is pressed.
Public method GetProjectDependencies Returns a list of projects that the given hierarchy depends on.
Public method put_CodePage Obsolete method. Do not use.
Public method put_IsDebug Obsolete method. Do not use.
Public method QueryBuildManagerBusy Determines if the build manager is busy.
Public method QueryDebugLaunch Determines whether or not the F5 (debug start) key should be enabled.
Public method QueryProjectDependency Checks to see if one project is dependent upon another.
Public method SaveDocumentsBeforeBuild A project calls this method to ensure that the buildable/runnable components of projects are saved before starting build or run operations.
Public method set_StartupProject Sets the startup project that will be run when the F5 key is pressed.
Public method StartSimpleUpdateProjectConfiguration This is a variant of the update command that allows you to build, clean, deploy, or launch a single project configuration.
Public method StartSimpleUpdateSolutionConfiguration Builds, cleans, or deploys a list of solutions.
Public method StartUpdateProjectConfigurations Builds, cleans, or deploys a list of projects.
Public method StartUpdateSpecificProjectConfigurations Use this method to maintain total control of a build process.
Public method UnadviseUpdateSolutionEvents Removes the caller from the list of listeners for IVsUpdateSolutionEvents2 events.
Public method UpdateSolutionConfigurationIsActive Checks for any build, clean, or deploy action in progress.

Top

Remarks

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.

See Also

Reference

Microsoft.VisualStudio.Shell.Interop Namespace