IVsSolutionBuildManager2 Interface
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Allows solutions to manage configuration information.
public interface class IVsSolutionBuildManager2 : Microsoft::VisualStudio::Shell::Interop::IVsSolutionBuildManager
public interface class IVsSolutionBuildManager2 : Microsoft::VisualStudio::Shell::Interop::IVsSolutionBuildManager
__interface IVsSolutionBuildManager2 : Microsoft::VisualStudio::Shell::Interop::IVsSolutionBuildManager
[System.Runtime.InteropServices.Guid("80353F58-F2A3-47B8-B2DF-0475E07BB1C6")]
[System.Runtime.InteropServices.InterfaceType(1)]
public interface IVsSolutionBuildManager2 : Microsoft.VisualStudio.Shell.Interop.IVsSolutionBuildManager
[System.Runtime.InteropServices.Guid("80353F58-F2A3-47B8-B2DF-0475E07BB1C6")]
[System.Runtime.InteropServices.InterfaceType(System.Runtime.InteropServices.ComInterfaceType.InterfaceIsIUnknown)]
public interface IVsSolutionBuildManager2 : Microsoft.VisualStudio.Shell.Interop.IVsSolutionBuildManager
[<System.Runtime.InteropServices.Guid("80353F58-F2A3-47B8-B2DF-0475E07BB1C6")>]
[<System.Runtime.InteropServices.InterfaceType(1)>]
type IVsSolutionBuildManager2 = interface
interface IVsSolutionBuildManager
[<System.Runtime.InteropServices.Guid("80353F58-F2A3-47B8-B2DF-0475E07BB1C6")>]
[<System.Runtime.InteropServices.InterfaceType(System.Runtime.InteropServices.ComInterfaceType.InterfaceIsIUnknown)>]
type IVsSolutionBuildManager2 = interface
interface IVsSolutionBuildManager
Public Interface IVsSolutionBuildManager2
Implements IVsSolutionBuildManager
- Attributes
- Implements
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(IVsUpdateSolutionEvents, UInt32) to listen for and react to those build events.
You can obtain an IVsSolutionBuildManager2
interface from the SVsSolutionBuildManager service.
Methods
AdviseUpdateSolutionEvents(IVsUpdateSolutionEvents, UInt32) |
Adds the caller to the list of listeners for IVsUpdateSolutionEvents2 events. |
CalculateProjectDependencies() |
Forces dependencies to be recalculated. |
CanCancelUpdateSolutionConfiguration(Int32) |
Enables or disables the Cancel menu item. |
CancelUpdateSolutionConfiguration() |
Cancels the update solution configuration. |
DebugLaunch(UInt32) |
Launches the startup project specified by the solution as the debug project. |
FindActiveProjectCfg(IntPtr, IntPtr, IVsHierarchy, IVsProjectCfg[]) |
Determines the project configuration that is currently active. |
get_CodePage(UInt32) |
Obsolete method. Do not use. |
get_IsDebug(Int32) |
Obsolete method. Do not use. |
get_StartupProject(IVsHierarchy) |
Programmatic method to get the startup project that will be run when the F5 key is pressed. |
GetProjectDependencies(IVsHierarchy, UInt32, IVsHierarchy[], UInt32[]) |
Returns a list of projects that the given hierarchy depends on. |
put_CodePage(UInt32) |
Obsolete method. Do not use. |
put_IsDebug(Int32) |
Obsolete method. Do not use. |
QueryBuildManagerBusy(Int32) |
Determines if the build manager is busy. |
QueryDebugLaunch(UInt32, Int32) |
Determines whether or not the F5 (debug start) key should be enabled. |
QueryProjectDependency(IVsHierarchy, IVsHierarchy, Int32) |
Checks to see if one project is dependent upon another. |
SaveDocumentsBeforeBuild(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. |
set_StartupProject(IVsHierarchy) |
Sets the startup project that will be run when the F5 key is pressed. |
StartSimpleUpdateProjectConfiguration(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. |
StartSimpleUpdateSolutionConfiguration(UInt32, UInt32, Int32) |
Builds, cleans, or deploys a list of solutions. |
StartUpdateProjectConfigurations(UInt32, IVsHierarchy[], UInt32, Int32) |
Builds, cleans, or deploys a list of projects. |
StartUpdateSpecificProjectConfigurations(UInt32, IVsHierarchy[], IVsCfg[], UInt32[], UInt32[], UInt32[], UInt32, Int32) |
Use this method to maintain total control of a build process. |
UnadviseUpdateSolutionEvents(UInt32) |
Removes the caller from the list of listeners for IVsUpdateSolutionEvents2 events. |
UpdateSolutionConfigurationIsActive(Int32) |
Checks for any build, clean, or deploy action in progress. |