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 | |
---|---|---|
ProvideBindingPathAttribute |
Arriba
Propiedades
Nombre | Descripción | |
---|---|---|
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. | |
TypeId | (Se hereda de RegistrationAttribute). |
Arriba
Métodos
Nombre | Descripción | |
---|---|---|
Equals | Infraestructura. Devuelve un valor que indica si esta instancia equivale a un objeto especificado. (Se hereda de Attribute). | |
GetHashCode | Devuelve el código hash de esta instancia. (Se hereda de Attribute). | |
GetType | Obtiene el objeto Type de la instancia actual. (Se hereda de Object). | |
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). | |
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). | |
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)). | |
ToString | Devuelve una cadena que representa el objeto actual. (Se hereda de Object). | |
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 | |
---|---|---|
_Attribute.GetIDsOfNames | Asigna un conjunto de nombres a un conjunto correspondiente de identificadores de envío. (Se hereda de Attribute). | |
_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). | |
_Attribute.GetTypeInfoCount | Recupera el número de interfaces de información de tipo que proporciona un objeto (0 ó 1). (Se hereda de Attribute). | |
_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 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.
Precaució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)