Condividi tramite


Classe ProvideBindingPathAttribute

Questo attributo consente agli assembly in Visual Studio pacchetto o estensione da utilizzare da altri pacchetti e estensioni.Aggiunge la directory in cui il pacchetto viene installato a Visual Studio sondaggio elenco, utilizzato per risolvere i riferimenti all'assembly.

Gerarchia di ereditarietà

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

Spazio dei nomi:  Microsoft.VisualStudio.Modeling.Shell
Assembly:  Microsoft.VisualStudio.Modeling.Sdk.Shell.11.0 (in Microsoft.VisualStudio.Modeling.Sdk.Shell.11.0.dll)

Sintassi

'Dichiarazione
<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

Il tipo ProvideBindingPathAttribute espone i seguenti membri.

Costruttori

  Nome Descrizione
Metodo pubblico ProvideBindingPathAttribute

In alto

Proprietà

  Nome Descrizione
Proprietà pubblica SubPath Un percorso secondario facoltativo a dopo $PackageFolder$.Dovrebbe essere utilizzata se gli assembly da sondare si trovano in una directory diversa rispetto al file di pkgdef.
Proprietà pubblica TypeId (Ereditato da RegistrationAttribute)

In alto

Metodi

  Nome Descrizione
Metodo pubblico Equals Infrastruttura. Restituisce un valore che indica se l'istanza è uguale a un oggetto specificato. (Ereditato da Attribute)
Metodo pubblico GetHashCode Restituisce il codice hash per l'istanza. (Ereditato da Attribute)
Metodo pubblico GetType Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object)
Metodo pubblico IsDefaultAttribute Una volta sottoposto a override in una classe derivata, indica se il valore di questa istanza è il valore predefinito per la classe derivata. (Ereditato da Attribute)
Metodo pubblico Match Una volta sottoposto a override in una classe derivata, restituisce un valore che indica se questa istanza equivale a un oggetto specificato. (Ereditato da Attribute)
Metodo pubblico Register Registrare il percorso componente (o facoltativamente è presente un sottopercorso del percorso componente) come percorso aggiuntivo che l'amministratore dell'assembly in Visual Studio sonderà quando si tenta di risolvere gli assembly.Chiamato quando il pacchetto viene installato. (Esegue l'override di RegistrationAttribute.Register(RegistrationAttribute.RegistrationContext)).
Metodo pubblico ToString Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object)
Metodo pubblico Unregister Annullare la registrazione del percorso componente come percorso di associazione.Chiamato quando il pacchetto viene disinstallato. (Esegue l'override di RegistrationAttribute.Unregister(RegistrationAttribute.RegistrationContext)).

In alto

Implementazioni esplicite dell'interfaccia

  Nome Descrizione
Implementazione esplicita dell'interfacciaMetodo privato _Attribute.GetIDsOfNames Esegue il mapping di un set di nomi a un set corrispondente di ID dispatch. (Ereditato da Attribute)
Implementazione esplicita dell'interfacciaMetodo privato _Attribute.GetTypeInfo Recupera le informazioni sui tipi per un oggetto, che può essere utilizzato per ottenere informazioni sul tipo per un'interfaccia. (Ereditato da Attribute)
Implementazione esplicita dell'interfacciaMetodo privato _Attribute.GetTypeInfoCount Recupera il numero di interfacce di informazioni sui tipi che un oggetto garantisce (0 o 1). (Ereditato da Attribute)
Implementazione esplicita dell'interfacciaMetodo privato _Attribute.Invoke Fornisce l'accesso a proprietà e metodi esposti da un oggetto. (Ereditato da Attribute)

In alto

Note

[!NOTA]

Queste informazioni sono applicabili a Visual Studio 2010.Un metodo alternativo potrebbe essere fornito in versioni successive.

Se si desidera che gli assembly nel pacchetto o nell'estensione per essere visibile ad altre estensioni, è necessario applicare questo attributo alla classe del pacchetto o all'assembly.Ad esempio:

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

Se si utilizza l'sdk di visualizzazione e modellazione per creare un (DSL) linguaggio specifico di dominio, l'attributo viene applicato automaticamente in DslPackage\Package.cs.

Se non si sta compilando un linguaggio specifico di dominio, includere il seguente file nel progetto:

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

Se gli assembly del pacchetto sono in una sottodirectory relativo a .pkgdef file, è possibile utilizzare questa variant:

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

È possibile utilizzare più di uno ProvideBindingPath attributo se si desidera specificare diverse directory.

Nota di avvisoAttenzione

Poiché questo attributo consente di estendere l'elenco delle cartelle in cui Visual Studio cerca gli assembly, è possibile notare un calo delle prestazioni se si installa molti pacchetti che hanno questo attributo.

Il funzionamento di associazione di attributi PATH del pacchetto

Questo attributo viene generata una voce nel pacchetto .pkgdef file, disponibili nella cartella di compilazione.Questa operazione consente a sua volta crea una voce nel Registro di sistema quando il pacchetto viene installato nel computer di destinazione.La voce del Registro di sistema viene fornito un percorso che deve essere sondatoe per gli assembly del candidato quando gli altri assembly vengono caricati.

Ad esempio, .pkgdef la voce è simile alla seguente:

[$RootKey$\BindingPaths\GUID del package]"$PackageFolder$"=""

Quando il pacchetto viene installato nel computer di destinazione, una voce del Registro di sistema viene aggiunto in HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0_Config\BindingPaths\GUID del package.La voce comprende un attributo di stringa che indica la cartella di installazione del pacchetto.

Codice thread safe

Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.

Vedere anche

Riferimenti

Spazio dei nomi Microsoft.VisualStudio.Modeling.Shell

Package

Altre risorse

Distribuzione di soluzioni per un linguaggio specifico di dominio