IVsOutputGroup Interface

Definition

Allows projects to group outputs according to usage.

public interface class IVsOutputGroup
public interface class IVsOutputGroup
__interface IVsOutputGroup
[System.Runtime.InteropServices.Guid("FCC03D95-7C2E-4398-AAAE-0F4B56104FC8")]
[System.Runtime.InteropServices.InterfaceType(1)]
public interface IVsOutputGroup
[System.Runtime.InteropServices.Guid("FCC03D95-7C2E-4398-AAAE-0F4B56104FC8")]
[System.Runtime.InteropServices.InterfaceType(System.Runtime.InteropServices.ComInterfaceType.InterfaceIsIUnknown)]
public interface IVsOutputGroup
[<System.Runtime.InteropServices.Guid("FCC03D95-7C2E-4398-AAAE-0F4B56104FC8")>]
[<System.Runtime.InteropServices.InterfaceType(1)>]
type IVsOutputGroup = interface
[<System.Runtime.InteropServices.Guid("FCC03D95-7C2E-4398-AAAE-0F4B56104FC8")>]
[<System.Runtime.InteropServices.InterfaceType(System.Runtime.InteropServices.ComInterfaceType.InterfaceIsIUnknown)>]
type IVsOutputGroup = interface
Public Interface IVsOutputGroup
Derived
Attributes

Remarks

Grouping output items allows project configurations to categorize by usage. For example, a DLL file might be grouped with its PDB file. The project must return the same number of groups for each configuration that it supports, even though the number of outputs contained within a group might vary from configuration to configuration. For example, the group "Matt's DLL" might include mattd.dll and mattd.pdb in debug configuration, but only include matt.dll in retail configuration.

Groups may also have a key output that allows packaging shortcuts to point to something meaningful. Any group might be empty in a given configuration, so no assumptions should be made about the size of a group.

If a project has an IVsOutput2 object that it does not want to package or deploy, it is sufficient to not put that output in a group.

Callers can access a configuration's output groups by calling get_OutputGroups or OpenOutputGroup.

See illustrations of the implementation and/or calling of this interface in the samples Basic Project and My C Package.

Notes to Implementers

Implemented by project configurations that organize their output items into groups by usage.

Notes to Callers

Called by the environment and deployment projects during deployment operations.

These groups will also have the same identifier information (canonical name, display name, and group information) from one configuration to another within a project. This allows deployment and packaging to continue to operate even if configurations change.

Methods

get_CanonicalName(String)

Returns the canonical name of the output group.

get_DeployDependencies(UInt32, IVsDeployDependency[], UInt32[])

Provides access to one or more deployment dependencies.

get_Description(String)

Returns the description of an output group.

get_DisplayName(String)

Returns the display name of the output group.

get_KeyOutput(String)

Returns the canonical name of the key output group.

get_Outputs(UInt32, IVsOutput2[], UInt32[])

Returns an array of pointers to IVsOutput2 interfaces providing access to a configuration's output items.

get_ProjectCfg(IVsProjectCfg2)

Returns a pointer to the configuration's IVsProjectCfg2 interface.

Applies to