Classe ProvideBindingPathAttribute
Questo attributo consente agli assembly presenti nel pacchetto o nell'estensione di Visual Studio di essere utilizzati da altri pacchetti ed estensioni. Aggiunge la directory in cui il pacchetto è installato all'elenco Visual Studio, 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.12.0 (in Microsoft.VisualStudio.Modeling.Sdk.Shell.12.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 | |
---|---|---|
![]() |
ProvideBindingPathAttribute |
In alto
Proprietà
Nome | Descrizione | |
---|---|---|
![]() |
SubPath | Sottopercorso facoltativo da impostare dopo $PackageFolder$.Deve essere utilizzata se gli assembly da esaminare si trovano in una directory diversa rispetto al file pkgdef. |
![]() |
TypeId | (Ereditato da RegistrationAttribute) |
In alto
Metodi
Nome | Descrizione | |
---|---|---|
![]() |
Equals | Infrastruttura. Restituisce un valore che indica se l'istanza è uguale a un oggetto specificato. (Ereditato da Attribute) |
![]() |
GetHashCode | Restituisce il codice hash per l'istanza. (Ereditato da Attribute) |
![]() |
GetType | Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
![]() |
IsDefaultAttribute | Quando è sottoposto a override in una classe derivata, indica se il valore di questa istanza è il valore predefinito della classe derivata. (Ereditato da Attribute) |
![]() |
Match | Quando è sottoposto a override in una classe derivata, restituisce un valore che indica se questa istanza equivale a un oggetto specificato. (Ereditato da Attribute) |
![]() |
Register | Registrare il percorso componente (o facoltativamente un sottopercorso del percorso componente) come percorso aggiuntivo che il gestore di assembly in Visual Studio controllerà durante il tentativo di risolvere gli assembly.Chiamato quando viene installato il pacchetto. (Esegue l'override di RegistrationAttribute.Register(RegistrationAttribute.RegistrationContext)). |
![]() |
ToString | Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
![]() |
Unregister | Annulla la registrazione del percorso componente come percorso di associazione.È stato chiamato quando il pacchetto è stato disinstallato. (Esegue l'override di RegistrationAttribute.Unregister(RegistrationAttribute.RegistrationContext)). |
In alto
Implementazioni esplicite dell'interfaccia
Nome | Descrizione | |
---|---|---|
![]() ![]() |
_Attribute.GetIDsOfNames | Esegue il mapping di un set di nomi a un set corrispondente di ID dispatch. (Ereditato da Attribute) |
![]() ![]() |
_Attribute.GetTypeInfo | Recupera le informazioni sul tipo relative a un oggetto, che possono essere utilizzate per ottenere informazioni sul tipo relative a un'interfaccia. (Ereditato da Attribute) |
![]() ![]() |
_Attribute.GetTypeInfoCount | Recupera il numero delle interfacce di informazioni di tipo fornite da un oggetto (0 o 1). (Ereditato da Attribute) |
![]() ![]() |
_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 nelle versioni future.
Se si desidera che gli assembly nel pacchetto o estensione per essere visibile ad altre estensioni, è necessario applicare questo attributo alla classe del pacchetto o all'assembly. Esempio:
[ProvideBindingPath]
public class MyVsPackage : Microsoft.VisualStudio.Shell.Package
{ ... }
Se si utilizza l'sdk di visualizzazione e modellazione per creare un linguaggio specifico di dominio (DSL), 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 si trovano in una sottodirectory del file di .pkgdef, è possibile utilizzare la variante:
[ProvideBindingPath(SubPath="SubFolder1")]
public class MyPackage : Microsoft.VisualStudio.Shell.Package
{ ... }
È possibile utilizzare più di un attributo di ProvideBindingPath se si desidera specificare diverse directory.
Avviso
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 obbligatori di attributo Path del pacchetto
Questo attributo viene generata una voce nel file di .pkgdef del pacchetto, disponibile 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 altri assembly vengono caricati.
Ad esempio, la voce di .pkgdef è simile alla seguente:
[$RootKey$\BindingPaths\il pacchetto GUID]"$PackageFolder$"=""
Quando il pacchetto viene installato nel computer di destinazione, una voce del Registro di sistema aggiunte in HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0_Config\BindingPaths\il pacchetto GUID. 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
Altre risorse
Distribuzione di soluzioni per un linguaggio specifico di dominio