注册服务

若要支持按需加载,服务提供程序必须注册其与 Visual Studio的全局服务。

在开发,管理的服务提供程序注册服务期间通过将特性添加到源代码,然后运行 RegPkg.exe 实用工具在生成的程序集。 有关更多信息,请参见 如何:注册服务

非托管服务提供程序在服务中必须注册提供其提供 Visual Studio 区分系统注册表。 下面的 .reg 文件片段演示服务, SVsTextManager,如何注册:

[HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\<version number>\Services\{F5E7E71D-1401-11d1-883B-0000F87579D2}]
@="{F5E7E720-1401-11d1-883B-0000F87579D2}"
"Name"="SVsTextManager"

在上面的示例中,版本号为 Visual Studio的版本,如 7.1 或 8.0,键 F5E7E71D-1401-11d1-883B-0000F87579D2 {} 是服务, SVsTextManager 的服务标识符 (SID),因此,默认 F5E7E720-1401-11d1-883B-0000F87579D2 {} 是文本管理器 VSPackage 的包的 GUID,提供服务。

远程服务和后台线程

您提供的服务不会自动可用的远程或为后台线程。 若要使其可用,则必须生成并注册类型库。

从使用 Visual Studio 库 (VSL)的非托管代码,可以注册类型库示:

#define VSL_REGISTER_TYPE_LIB TRUE
#include <VSLPackageDllEntryPoints.cpp>

从托管代码,可以添加如下的后期生成步骤:

regasm /tlb MyAssembly.dll

请参见

概念

服务 Essentials

其他资源

服务