如何:使用服务

Package 派生,并且正确站点的所有托管 VSPackage 中请求自己任何全局服务。 由于包类实现 IServiceProvider,从包派生的所有 VSPackage 也是服务提供程序。

当 Visual Studio 加载托管 VSPackage 时,将 IServiceProvider 服务提供程序将包 SetSite 方法在初始化时,网站 VSPackage。 包类包装此服务提供程序并为获取服务提供 GetService 方法。

备注

由于 VSPackage 构造函数调用,在 VSPackage 网站之前,全局服务通常可用从 VSPackage 构造函数的内部。为工作区参见 如何:疑难解答服务

使用服务

  • 插入此代码在任何方法除 VSPackage 构造函数:

    Dim log As IVsActivityLog = TryCast(GetService(GetType(SVsActivityLog)), IVsActivityLog)
    If log Is Nothing Then 
        Return 
    End If
    
                IVsActivityLog log =
        GetService(typeof(SVsActivityLog)) as IVsActivityLog;
                if (log == null) return;
    

    此代码获取一 SVsActivityLog 服务并将其强制 IVsActivityLog 接口,可用于向事件日志中写入。 有关示例,请参见如何:使用事件日志

请参见

任务

如何:提供一个服务

概念

Visual Studio 扩展性示例

服务 Essentials

其他资源

服务