Classe ProjectTypeResolutionService
Una classe astratta che fornisce l'implementazione di Visual Studio dell'interfaccia di ITypeResolutionService .
Gerarchia di ereditarietà
System.Object
Microsoft.VisualStudio.Shell.Design.ProjectTypeResolutionService
Spazio dei nomi: Microsoft.VisualStudio.Shell.Design
Assembly: Microsoft.VisualStudio.Shell.Design (in Microsoft.VisualStudio.Shell.Design.dll)
Sintassi
'Dichiarazione
Public MustInherit Class ProjectTypeResolutionService
public abstract class ProjectTypeResolutionService
Il tipo ProjectTypeResolutionService espone i seguenti membri.
Costruttori
Nome | Descrizione | |
---|---|---|
![]() |
ProjectTypeResolutionService | Una volta sottoposto a override in una classe derivata, inizializza una nuova istanza della classe. |
In alto
Metodi
Nome | Descrizione | |
---|---|---|
![]() |
Equals | Determina se l'oggetto specificato equivale all'oggetto corrente. (Ereditato da Object) |
![]() |
Finalize | Consente a un oggetto di provare a liberare risorse ed eseguire altre operazioni di pulitura prima che l'oggetto stesso venga recuperato dalla procedura di Garbage Collection. (Ereditato da Object) |
![]() |
GetHashCode | Funge da funzione hash per un determinato tipo. (Ereditato da Object) |
![]() |
GetType() | Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object) |
![]() |
GetType(String, Boolean, Boolean, ReferenceType) | Quando implementato in una classe derivata, i tentativi recuperare un tipo di riferimento in base ai criteri di ricerca come nome del tipo e della distinzione tra maiuscole e minuscole. |
![]() |
MemberwiseClone | Consente di creare una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object) |
![]() |
ToString | Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object) |
In alto
Note
La risoluzione del tipo di Visual Studio si basa sulla risoluzione di un nome di tipo di progetto ai relativi riferimenti corrispondenti di Visual Studio.Questi riferimenti possono eseguire numerosi formati:
tipo di riferimento |
descrizione |
---|---|
File su disco |
Questi sono riferimenti basati su disco semplici che non possono interrompere il modo in cui un documento di riferimento basato sulla global assembly cache.Ciò significa che un riferimento a un elemento nella global assembly cache deve essere caricato dalla GAC, non dalla directory dell'SDK. |
Riferimenti a un progetto |
Richiede il percorso del file di output del progetto.La risoluzione del tipo deve inoltre esamina gli eventi di Visual Studio come rinominare un file di output del progetto e passare le configurazioni.In caso di opzione di configurazione del progetto generato restituirà in una directory diversa. |
output generati |
Gli strumenti possono generare codice direttamente nel progetto.Questo codice diventa parte del progetto, ma potrebbe essere necessaria compilato dal progetto in modo che il relativo file binario risulta accessibile senza compilare l'intero progetto.Questi output generati devono essere presenti in primo luogo, poiché i tipi in essi sempre conflitto con il progetto corrente.La risoluzione del tipo deve essere consapevole degli eventi di Visual Studio come “output generati ricompilazione poiché questi non vengono compilati automaticamente. |
Ogni assembly caricato corrisponde momento da un oggetto di AssemblyEntry e questi oggetti vengono inseriti in gruppi come descritto in precedenza.Sia i file su disco che i riferimenti a un progetto sono puntatori agli stessi oggetti.Due elenchi paralleli vengono distribuiti perché i riferimenti a un progetto sono sempre in memoria caricato e questo processo comporta una riduzione delle prestazioni.La combinazione di recupero innanzitutto attraversa i file nell'elenco del disco perché molti dei file che fanno riferimento possono essere caricati mediante la GAC, che è più efficiente un punto di vista delle prestazioni.Se l'esito negativo di recupero per i file su disco elencati i transverses seguenti di ricerca dei riferimenti più costosi a un elenco di progetti.
Gli output generati caricamento richiede la compilazione da Visual Studio per rendere loro il tipo più costose da recuperare.Sebbene il costo in termini di prestazioni di esaminare questi elementi per una corrispondenza rappresenta un grande calo delle prestazioni, output generati nuovamente deve essere controllato prima di riferimenti a un progetto perché gli output generati, un sottoinsieme speciale di riferimenti a un progetto, consentono tipi duplicati.
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.