Spécifiant l’emplacement du fichier de VSPackage à l’interpréteur de commandes de Visual StudioSpecifying VSPackage File Location to the VS Shell

Visual StudioVisual Studio doit être en mesure de trouver la DLL à charger le VSPackage d’assembly. must be able to locate the assembly DLL to load the VSPackage. Vous pouvez le rechercher de différentes manières, comme décrit dans le tableau suivant.You can locate it in various ways, as described in the following table.

MéthodeMethod DescriptionDescription
Utilisez la clé de Registre de base de code.Use the CodeBase registry key. La clé de la base de code peut être utilisée pour diriger Visual StudioVisual Studio pour charger l’assembly VSPackage à partir de n’importe quel chemin de fichier qualifié complet.The CodeBase key can be used to direct Visual StudioVisual Studio to load the VSPackage assembly from any fully qualified file path. La valeur de la clé doit être le chemin d’accès de fichier à la DLL.The value of the key should be the file path to the DLL. Ceci est le meilleur moyen d’avoir Visual StudioVisual Studio de charger l’assembly de votre package.This is the best way to have Visual StudioVisual Studio load your package assembly. Cette technique est parfois appelée « CodeBase/privée installation active technique. »This technique is sometimes referred to as the "CodeBase/private installation directory technique." Lors de l’enregistrement la valeur de la base de code est passée pour les classes d’attributs d’inscription via une instance de la RegistrationAttribute.RegistrationContext type.During registration the value of the codebase is passed to the registration attribute classes through an instance of the RegistrationAttribute.RegistrationContext type.
Placer la DLL dans le PrivateAssemblies active.Place the DLL into the PrivateAssemblies directory. Placez l’assembly dans le PrivateAssemblies sous-répertoire de la Visual StudioVisual Studio active.Place the assembly in the PrivateAssemblies subdirectory of the Visual StudioVisual Studio directory. Assemblys situés dans PrivateAssemblies sont détectées automatiquement, mais ne sont pas visibles dans le ajouter des références boîte de dialogue.Assemblies located in PrivateAssemblies are automatically detected, but are not visible in the Add References dialog box. La différence entre PrivateAssemblies et PublicAssemblies est que les assemblys dans PublicAssemblies sont énumérées dans le ajouter des références boîte de dialogue.The difference between PrivateAssemblies and PublicAssemblies is that assemblies in PublicAssemblies are enumerated in the Add References dialog box. Si vous choisissez de ne pas utiliser la technique « répertoire d’installation CodeBase/privée », vous devez l’installer dans le PrivateAssemblies active.If you chose not to use the "CodeBase/private installation directory" technique, then you should install into the PrivateAssemblies directory.
Utiliser un assembly avec nom fort et la clé de Registre d’Assembly.Use a strong-named assembly and the Assembly registry key. La clé de l’Assembly peut être utilisée pour indiquer explicitement Visual StudioVisual Studio pour charger un nom fort nommé assembly VSPackage.The Assembly key can be used to explicitly direct Visual StudioVisual Studio to load a strong named VSPackage assembly. La valeur de la clé doit être le nom fort de l’assembly.The value of the key should be the strong name of the assembly.
Placer la DLL dans le PublicAssemblies active.Place the DLL into the PublicAssemblies directory. Enfin, l’assembly peut également être placé dans le PublicAssemblies sous-répertoire.Finally, the assembly can also be placed into the PublicAssemblies subdirectory. Assemblys situés dans PublicAssemblies sont détectées automatiquement et apparaît également dans le ajouter des références boîte de dialogue de Visual StudioVisual Studio.Assemblies located in PublicAssemblies are automatically detected, and will also appear in the Add References dialog box in Visual StudioVisual Studio.

Les assemblys VSPackage doivent uniquement être placés dans le PublicAssemblies répertoire s’ils contiennent géré des composants qui sont destinés à être réutilisé par d’autres développeurs VSPackage.VSPackage assemblies should only be placed in the PublicAssemblies directory if they contain managed components that are intended to be reused by other VSPackage developers. La plupart des assemblys ne répondent pas à ce critère.The majority of assemblies do not meet this criterion.

Note

Utiliser des assemblys avec nom fort, signés pour tous vos assemblys dépendants.Use strong-named, signed assemblies for all of your dependent assemblies. Ces assemblys doivent également être installés dans votre propre répertoire ou dans le global assembly cache (GAC).These assemblies should also be installed in your own directory or the global assembly cache (GAC). Cela empêche les conflits avec les assemblys qui ont le même nom de fichier de base, appelé liaison de nom de faible.This protects against conflicts with assemblies that have the same base file name, known as weak-name binding.