Enregistrement des services
Pour prendre en charge le chargement à la demande, un fournisseur de services doit stocker ses services globaux avec Visual Studio.
Pendant le développement, les services managés de registre de fournisseurs de services en ajoutant des attributs au code source, puis en exécutant l'utilitaire de RegPkg.exe sur l'assembly résultant. Pour plus d'informations, consultez Comment : enregistrez un service.
Les fournisseurs de services non managés doivent signaler les services qu'ils contribuent à Visual Studio dans la section des services de la base de registres. Le fragment suivant de fichier .reg montre comment le service, SVsTextManager, peut être stocké :
[HKEY_LOCAL_MACHINE\Software\Microsoft\VisualStudio\<version number>\Services\{F5E7E71D-1401-11d1-883B-0000F87579D2}]
@="{F5E7E720-1401-11d1-883B-0000F87579D2}"
"Name"="SVsTextManager"
Dans l'exemple ci-dessus, le numéro de version est la version de Visual Studio, tel que 7,1 ou 8,0, la clé F5E7E71D-1401-11d1-883B-0000F87579D2 {} est l'identificateur de service (SID) du service, SVsTextManager, et la valeur par défaut F5E7E720-1401-11d1-883B-0000F87579D2 {} est le package GUID du gestionnaire VSPackage de texte, qui fournit le service.
services distants et thread d'arrière-plan
Les services que vous fournissez ne sont pas disponibles automatiquement à distance ou aux threads d'arrière-plan. Pour les rendre disponibles, vous devez générer et inscrire une bibliothèque de types.
de code non managé qui utilise la bibliothèque de Visual Studio (VSL), vous pouvez enregistrer votre bibliothèque de types de cette façon :
#define VSL_REGISTER_TYPE_LIB TRUE
#include <VSLPackageDllEntryPoints.cpp>
De code managé, vous pouvez ajouter une étape post-build comme suit :
regasm /tlb MyAssembly.dll