Classe ProvideBindingPathAttribute
Este atributo permite que os assemblies no seu Visual Studio pacote ou extensão a ser usado por outros pacotes e extensões.Ele adiciona o diretório onde o seu pacote for instalado para o Visual Studio lista, que é usada para resolver referências de assembly de investigação.
Hierarquia de herança
System.Object
System.Attribute
Microsoft.VisualStudio.Shell.RegistrationAttribute
Microsoft.VisualStudio.Modeling.Shell.ProvideBindingPathAttribute
Namespace: Microsoft.VisualStudio.Modeling.Shell
Assembly: Microsoft.VisualStudio.Modeling.Sdk.Shell.11.0 (em Microsoft.VisualStudio.Modeling.Sdk.Shell.11.0.dll)
Sintaxe
'Declaração
<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
O tipo ProvideBindingPathAttribute expõe os membros a seguir.
Construtores
Nome | Descrição | |
---|---|---|
ProvideBindingPathAttribute |
Superior
Propriedades
Nome | Descrição | |
---|---|---|
SubPath | Um subcaminho opcional definir depois de $PackageFolder$.Isso deve ser usado se os assemblies a analisada residem em um diretório diferente do que o arquivo pkgdef. | |
TypeId | (Herdado de RegistrationAttribute.) |
Superior
Métodos
Nome | Descrição | |
---|---|---|
Equals | Infraestrutura. Retorna um valor que indica se esta instância é igual a um objeto especificado. (Herdado de Attribute.) | |
GetHashCode | Retorna o código hash para essa instância. (Herdado de Attribute.) | |
GetType | Obtém Type da instância atual. (Herdado de Object.) | |
IsDefaultAttribute | Quando substituído em uma classe derivada, indica se o valor desta instância é o valor padrão para a classe derivada. (Herdado de Attribute.) | |
Match | Quando substituído em uma classe derivada, retorna um valor que indica se esta instância é igual a um objeto especificado. (Herdado de Attribute.) | |
Register | Registre o caminho do componente (ou opcionalmente um subcaminho do caminho componente) como um caminho adicional que o Gerenciador de montagem do Visual Studio investigarão ao tentar resolver assemblies.Chamado quando o pacote está instalado. (Substitui RegistrationAttribute.Register(RegistrationAttribute.RegistrationContext).) | |
ToString | Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object.) | |
Unregister | Cancelar o registro o caminho do componente como um caminho de ligação.Chamado quando o pacote é desinstalado. (Substitui RegistrationAttribute.Unregister(RegistrationAttribute.RegistrationContext).) |
Superior
Implementações explícitas da interface
Nome | Descrição | |
---|---|---|
_Attribute.GetIDsOfNames | Mapeia um conjunto de nomes para um conjunto correspondente de identificadores de despacho. (Herdado de Attribute.) | |
_Attribute.GetTypeInfo | Recupera as informações de tipo para um objeto, que pode ser usado para obter as informações de tipo para uma interface. (Herdado de Attribute.) | |
_Attribute.GetTypeInfoCount | Recupera o número de interfaces de informações de tipo que um objeto fornece (0 ou 1). (Herdado de Attribute.) | |
_Attribute.Invoke | Fornece acesso a propriedades e métodos expostos por um objeto. (Herdado de Attribute.) |
Superior
Comentários
Observação |
---|
Essa informação é aplicável a Visual Studio 2010.Um método alternativo pode ser fornecido em versões posteriores. |
Se desejar que os assemblies em seu pacote ou extensão fiquem visíveis para outras extensões, você deve aplicar esse atributo para sua classe de pacote ou ao seu assembly.Por exemplo:
[ProvideBindingPath]
public class MyVsPackage : Microsoft.VisualStudio.Shell.Package
{ ... }
Se você estiver usando a visualização e modelagem SDK para criar uma linguagem específica de domínio (DSL), o atributo é aplicado automaticamente em DslPackage\Package.cs.
Se você não estiver criando uma DSL, incluem o seguinte arquivo em seu projeto:
%VSSDKInstallDir%\VisualStudioIntegration\Common\Source\CSharp\RegistrationAttributes\ProvideBindingPathAttribute.cs
Se os assemblies do seu pacote estão em um subdiretório em relação do .pkgdef arquivo, você pode usar esta variante:
[ProvideBindingPath(SubPath="SubFolder1")]
public class MyPackage : Microsoft.VisualStudio.Shell.Package
{ ... }
Você pode usar mais de uma ProvideBindingPath se você desejar especificar vários diretórios de atributo.
Cuidado |
---|
Porque este atributo se estender a lista de pastas onde o Visual Studio procura por módulos (assemblies), você poderá notar uma queda no desempenho se você instalar vários pacotes que tenham esse atributo. |
Como o atributo de caminho de ligação do pacote funciona
Esse atributo, gerará uma entrada em seu pacote .pkgdef o arquivo, que pode ser encontrado na pasta build.Isso por sua vez cria uma entrada no registro quando o seu pacote for instalado em um computador de destino.A entrada do registro fornece um caminho que deve ser analisado para assemblies de candidato quando outros assemblies são carregados.
Por exemplo, o .pkgdef entrada é semelhante a esta:
[$RootKey$\BindingPaths\o GUID do pacote]"$PackageFolder$"=""
Quando o pacote é instalado em um computador de destino, uma entrada do registro é adicionada em HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0_Config\BindingPaths\o GUID do pacote.A entrada inclui um atributo de seqüência de caracteres que indica a pasta de instalação do pacote.
Acesso thread-safe
Quaisquer membros estático (Shared no Visual Basic) públicos deste tipo são thread-safe. Não há garantia de que qualquer membro de instância seja thread-safe.
Consulte também
Referência
Namespace Microsoft.VisualStudio.Modeling.Shell