IVsProjectStartupServices 接口
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
支持其他开发人员的项目扩展性。
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 (IVsProjectStartupServices、 IVsProjectStartupServices...)
IVsProjectStartupServices
如果要创建可由其他开发人员扩展的项目类型,则主要用于扩展性。
实施者说明
在 上 IVsHierarchy 实现,使项目可由其他开发人员扩展。
方法
AddStartupService(Guid) |
将第三方服务添加到实例化项目时要启动的服务列表,并确保启动所有第三方服务。 |
GetStartupServiceEnum(IEnumProjectStartupServices) |
用于通过 GUID 查找第三方服务数组元素。 |
RemoveStartupService(Guid) |
从要启动的第三方服务列表中删除服务 ID GUID,如果服务已加载,则会释放该服务。 |