IVsProjectStartupServices 接口

定义

支持其他开发人员的项目扩展性。

public interface class IVsProjectStartupServices
public interface class IVsProjectStartupServices
__interface IVsProjectStartupServices
[System.Runtime.InteropServices.Guid("82780F79-A3ED-4B7F-90C0-5FEE14CBB53E")]
[System.Runtime.InteropServices.InterfaceType(1)]
public interface IVsProjectStartupServices
[System.Runtime.InteropServices.Guid("82780F79-A3ED-4B7F-90C0-5FEE14CBB53E")]
[System.Runtime.InteropServices.InterfaceType(System.Runtime.InteropServices.ComInterfaceType.InterfaceIsIUnknown)]
public interface IVsProjectStartupServices
[<System.Runtime.InteropServices.Guid("82780F79-A3ED-4B7F-90C0-5FEE14CBB53E")>]
[<System.Runtime.InteropServices.InterfaceType(1)>]
type IVsProjectStartupServices = interface
[<System.Runtime.InteropServices.Guid("82780F79-A3ED-4B7F-90C0-5FEE14CBB53E")>]
[<System.Runtime.InteropServices.InterfaceType(System.Runtime.InteropServices.ComInterfaceType.InterfaceIsIUnknown)>]
type IVsProjectStartupServices = interface
Public Interface IVsProjectStartupServices
属性

注解

IVsProjectStartupServices 是一个可选接口,它允许第三方 VSPackage 将项目保留的服务 GUID 注册到项目文件中,以便每次加载项目时,都会将该信息加载到项目文件和 QueryService 该 GUID 中。 这允许在再次加载项目时延迟加载第三方 VSPackage。 这样,第三方 VSPackage 会避免使用注册表中以前已过时的 Preload=1 选项。 但是,VSPackage 继续确保在加载项目时加载它。

项目只需调用 QueryService 将参数传递给它 (guidService、IID_IUnknown、&punk) ;它不会尝试在服务上调用方法。 然后,加载 VSPackage 后,可以枚举加载的项目并执行相应的操作, (例如,) 挂接到项目事件。

IVsProjectStartupServices可以通过以下方式从项目层次结构检索接口:

GetProperty (IVsProjectStartupServicesIVsProjectStartupServices...)

IVsProjectStartupServices 如果要创建可由其他开发人员扩展的项目类型,则主要用于扩展性。

实施者说明

在 上 IVsHierarchy 实现,使项目可由其他开发人员扩展。

方法

AddStartupService(Guid)

将第三方服务添加到实例化项目时要启动的服务列表,并确保启动所有第三方服务。

GetStartupServiceEnum(IEnumProjectStartupServices)

用于通过 GUID 查找第三方服务数组元素。

RemoveStartupService(Guid)

从要启动的第三方服务列表中删除服务 ID GUID,如果服务已加载,则会释放该服务。

适用于