ProvideBindingPathAttribute (Clase)

Este atributo permite los ensamblados en el paquete o la extensión de Visual Studio que usará otros paquetes y extensiones.Agregue el directorio donde se instala el paquete al sondeo de Visual Studio enumerado, que se utiliza para resolver 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.11.0 (en Microsoft.VisualStudio.Modeling.Sdk.Shell.11.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 Subtrazado opcional el conjunto después de $PackageFolder$.Esto debe utilizarse si los ensamblados que se sondarán residen en un directorio diferente que el archivo de 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 componente (u opcionalmente una subruta de acceso de la ruta componente) como ruta adicional que el administrador de ensamblado de sondeo de se de Visual Studio al intentar resolver los 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 Elimine la ruta componente como ruta de enlace.Se invoca cuando se desinstala el paquete. (Invalida a RegistrationAttribute.Unregister(RegistrationAttribute.RegistrationContext)).

Arriba

Implementaciones explícitas de interfaces

  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

[!NOTA]

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 el SDK para crear un lenguaje (DSL) específico de dominio, 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