ProvideBindingPathAttribute, classe
Cet attribut permet les assemblys dans votre package ou extension de Visual Studio à utiliser par d'autres packages et extensions.Il ajoute le répertoire où votre package est installé à sondant Visual Studio la liste, qui est utilisée pour résoudre des références d'assembly.
Hiérarchie d'héritage
System.Object
System.Attribute
Microsoft.VisualStudio.Shell.RegistrationAttribute
Microsoft.VisualStudio.Modeling.Shell.ProvideBindingPathAttribute
Espace de noms : Microsoft.VisualStudio.Modeling.Shell
Assembly : Microsoft.VisualStudio.Modeling.Sdk.Shell.11.0 (dans Microsoft.VisualStudio.Modeling.Sdk.Shell.11.0.dll)
Syntaxe
'Déclaration
<AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple := True, Inherited := True)> _
Public NotInheritable Class ProvideBindingPathAttribute _
Inherits RegistrationAttribute
[AttributeUsageAttribute(AttributeTargets.Class, AllowMultiple = true, Inherited = true)]
public sealed class ProvideBindingPathAttribute : RegistrationAttribute
Le type ProvideBindingPathAttribute expose les membres suivants.
Constructeurs
Nom | Description | |
---|---|---|
ProvideBindingPathAttribute |
Début
Propriétés
Nom | Description | |
---|---|---|
SubPath | Un Sous-chemin facultatif à l'ensemble après $PackageFolder$.Cela doit être utilisé si les assemblys à détecter résident dans un répertoire différent que le fichier de pkgdef. | |
TypeId | (Hérité de RegistrationAttribute.) |
Début
Méthodes
Nom | Description | |
---|---|---|
Equals | Infrastructure. Retourne une valeur indiquant si cette instance équivaut à un objet spécifié. (Hérité de Attribute.) | |
GetHashCode | Retourne le code de hachage de cette instance. (Hérité de Attribute.) | |
GetType | Obtient le Type de l'instance actuelle. (Hérité de Object.) | |
IsDefaultAttribute | En cas de substitution dans une classe dérivée, indique si la valeur de cette instance est la valeur par défaut pour la classe dérivée. (Hérité de Attribute.) | |
Match | En cas de substitution dans une classe dérivée, retourne une valeur indiquant si cette instance équivaut à un objet spécifié. (Hérité de Attribute.) | |
Register | Enregistrez le chemin d'accès composant (ou éventuellement un Sub- chemin d'accès du chemin d'accès composant) comme chemin d'accès supplémentaire que le gestionnaire d'assembly dans Visual Studio sondera lorsque tentant de résoudre des assemblys.Appelé lorsque le package est installé. (Substitue RegistrationAttribute.Register(RegistrationAttribute.RegistrationContext).) | |
ToString | Retourne une chaîne qui représente l'objet actif. (Hérité de Object.) | |
Unregister | Annulez l'enregistrement le chemin d'accès composant comme chemin d'accès de liaison.Appelé lorsque le package est désinstallé. (Substitue RegistrationAttribute.Unregister(RegistrationAttribute.RegistrationContext).) |
Début
Implémentations d'interface explicite
Nom | Description | |
---|---|---|
_Attribute.GetIDsOfNames | Mappe un jeu de noms avec un jeu correspondant d'identificateurs de dispatch. (Hérité de Attribute.) | |
_Attribute.GetTypeInfo | Récupère les informations de type pour un objet, qui peuvent être utilisées pour obtenir les informations de type d'une interface. (Hérité de Attribute.) | |
_Attribute.GetTypeInfoCount | Récupère le nombre d'interfaces d'informations de type fourni par un objet (0 ou 1). (Hérité de Attribute.) | |
_Attribute.Invoke | Fournit l'accès aux propriétés et aux méthodes exposées par un objet. (Hérité de Attribute.) |
Début
Notes
[!REMARQUE]
Ces informations s'appliquent à Visual Studio 2010.Une autre approche peut être fournie dans des versions finales ultérieures.
Si vous souhaitez les assemblys dans votre package ou extension pour être visible par d'autres extensions, vous devez appliquer cet attribut à votre classe de package ou à votre assembly.Par exemple :
[ProvideBindingPath]
public class MyVsPackage : Microsoft.VisualStudio.Shell.Package
{ ... }
Si vous utilisez la visualisation et modéliser le Kit de développement logiciel pour créer un langage spécifique au domaine, (DSL) l'attribut est automatiquement appliqué dans DslPackage\Package.cs.
Si vous ne générez pas un langage spécifique à un domaine, comprenez le fichier suivant dans votre projet :
%VSSDKInstallDir%\VisualStudioIntegration\Common\Source\CSharp\RegistrationAttributes\ProvideBindingPathAttribute.cs
Si les assemblys de votre package sont dans un sous-répertoire relatif au fichier d'.pkgdef, vous pouvez utiliser cette variante :
[ProvideBindingPath(SubPath="SubFolder1")]
public class MyPackage : Microsoft.VisualStudio.Shell.Package
{ ... }
Vous pouvez utiliser le plusieurs attribut d'ProvideBindingPath si vous souhaitez spécifier plusieurs répertoires.
Attention |
---|
Comme cet attribut étend la liste de dossiers où Visual Studio recherche des assemblys, vous pouvez remarquer un déplacement des performances si vous installez beaucoup de packages qui ont cet attribut. |
Comment l'attribut de chemin d'accès liaison de package fonctionne
Cet attribut génère une entrée dans le fichier d'.pkgdef de votre package, que vous pouvez rechercher dans le dossier de génération.Cela crée ensuite une entrée dans le Registre lorsque votre package est installé sur un ordinateur cible.L'entrée du Registre fournit un chemin d'accès qui doit être détecté pour des assemblys candidats lorsque d'autres assemblys sont chargés.
Par exemple, l'entrée d'.pkgdef se présente comme suit :
[$RootKey$\BindingPaths\votre package GUID]"$PackageFolder$"=""
Lorsque le package est installé sur un ordinateur cible, une entrée du Registre est ajoutée dans HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0_Config\BindingPaths\votre package GUID.L'entrée comprend un attribut de chaîne qui indique le dossier d'installation du package.
Sécurité des threads
Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.
Voir aussi
Référence
Microsoft.VisualStudio.Modeling.Shell, espace de noms