Compartir a través de


ProvideBindingPathAttribute (Clase)

Este atributo permite que otros paquetes y extensiones usen los ensamblados del paquete o la extensión de Visual Studio. Agrega el directorio donde el paquete se instala en la lista de sondeo de Visual Studio, que se usa para resolver las referencias de ensamblado.

Jerarquía de herencia

System.Object
  System.Attribute
    Microsoft.VisualStudio.Shell.RegistrationAttribute
      Microsoft.VisualStudio.Modeling.Shell.ProvideBindingPathAttribute

Espacio de nombres:  Microsoft.VisualStudio.Modeling.Shell
Ensamblado:  Microsoft.VisualStudio.Modeling.Sdk.Shell.12.0 (en Microsoft.VisualStudio.Modeling.Sdk.Shell.12.0.dll)

Sintaxis

'Declaración
<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

El tipo ProvideBindingPathAttribute expone los siguientes miembros.

Constructores

  Nombre Descripción
Método público ProvideBindingPathAttribute

Arriba

Propiedades

  Nombre Descripción
Propiedad pública SubPath Un SubPath opcional para establecer después de $PackageFolder$.Debe usarse si los ensamblados que se van a sondear residen en un directorio diferente que el archivo pkgdef.
Propiedad pública TypeId (Se hereda de RegistrationAttribute).

Arriba

Métodos

  Nombre Descripción
Método público Equals Infraestructura. Devuelve un valor que indica si esta instancia equivale a un objeto especificado. (Se hereda de Attribute).
Método público GetHashCode Devuelve el código hash de esta instancia. (Se hereda de Attribute).
Método público GetType Obtiene el objeto Type de la instancia actual. (Se hereda de Object).
Método público IsDefaultAttribute Cuando se invalida en una clase derivada, indica si el valor de esta instancia es el valor predeterminado para la clase derivada. (Se hereda de Attribute).
Método público Match Cuando se invalida en una clase derivada, devuelve un valor que indica si esta instancia es igual a un objeto especificado. (Se hereda de Attribute).
Método público Register Registre la ruta de acceso de componente (u, opcionalmente, una subruta de esta) como ruta adicional que el administrador de ensamblados de Visual Studio explorará al intentar resolver ensamblados.Llamado cuando se instala el paquete. (Invalida a RegistrationAttribute.Register(RegistrationAttribute.RegistrationContext)).
Método público ToString Devuelve una cadena que representa el objeto actual. (Se hereda de Object).
Método público Unregister Anula el registro de la ruta de componente como un ruta de enlace.Llamado cuando se desinstala el paquete. (Invalida a RegistrationAttribute.Unregister(RegistrationAttribute.RegistrationContext)).

Arriba

Implementaciones de interfaz explícita

  Nombre Descripción
Implementación explícita de interfacesMétodo privado _Attribute.GetIDsOfNames Asigna un conjunto de nombres a un conjunto correspondiente de identificadores de envío. (Se hereda de Attribute).
Implementación explícita de interfacesMétodo privado _Attribute.GetTypeInfo Obtiene la información de tipos de un objeto, que puede utilizarse para obtener la información de tipos de una interfaz. (Se hereda de Attribute).
Implementación explícita de interfacesMétodo privado _Attribute.GetTypeInfoCount Recupera el número de interfaces de información de tipo que proporciona un objeto (0 ó 1). (Se hereda de Attribute).
Implementación explícita de interfacesMétodo privado _Attribute.Invoke Proporciona acceso a las propiedades y los métodos expuestos por un objeto. (Se hereda de Attribute).

Arriba

Comentarios

NotaNota

Esta información es aplicable a Visual Studio 2010.Un método alternativo puede proporcionarse en versiones posteriores.

Si desea que los ensamblados en el paquete o la extensión esté visible para otras extensiones, debe aplicar este atributo a la clase de paquete o ensamblado. Por ejemplo:

[ProvideBindingPath] 
public class MyVsPackage : Microsoft.VisualStudio.Shell.Package 
{ ... }

Si usa la visualización y está modelando SDK para crear un lenguaje dominio- concreto (DSL), el atributo se aplica automáticamente en DslPackage\Package.cs.

Si no compila DSL, incluya el archivo siguiente en el proyecto:

%VSSDKInstallDir%\VisualStudioIntegration\Common\Source\CSharp\RegistrationAttributes\ProvideBindingPathAttribute.cs

Si los ensamblados de paquete están en un subdirectorio en relación con el archivo de .pkgdef , puede utilizar este tipo Variant:

[ProvideBindingPath(SubPath="SubFolder1")] 
public class MyPackage : Microsoft.VisualStudio.Shell.Package 
{ ... }

Puede utilizar más de un atributo de ProvideBindingPath si desea especificar varios directorios.

Nota de precauciónPrecaución

Dado que extiende este atributo la lista de carpetas donde Visual Studio busca los ensamblados, puede observar un destino en el rendimiento si instala muchos paquetes que tienen este atributo.

Cómo funciona el atributo path del enlace paquete

Este atributo genera una entrada en el archivo de .pkgdef de paquete, que puede encontrar en la carpeta de compilación. Esto a su vez crea una entrada en el registro cuando el paquete se instala en un equipo de destino. La entrada del Registro proporciona una ruta que debe buscar para ensamblados de candidato a otros ensamblados cargados.

Por ejemplo, la entrada de .pkgdef es parecido a:

[$RootKey$\BindingPaths\el paquete GUID]"$PackageFolder$"=""

Cuando el paquete se instala en un equipo de destino, una entrada de Registro se agrega en HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0_Config\BindingPaths\el paquete GUID. La entrada incluye un atributo de cadena que indica la carpeta de instalación del paquete.

Seguridad para subprocesos

Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.

Vea también

Referencia

Microsoft.VisualStudio.Modeling.Shell (Espacio de nombres)

Package

Otros recursos

Implementar soluciones de lenguajes específicos de dominio