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
Metodo protetto ProjectTypeResolutionService Una volta sottoposto a override in una classe derivata, inizializza una nuova istanza della classe.

In alto

Metodi

  Nome Descrizione
Metodo pubblico Equals Determina se l'oggetto specificato equivale all'oggetto corrente. (Ereditato da Object)
Metodo protetto 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)
Metodo pubblico GetHashCode Funge da funzione hash per un determinato tipo. (Ereditato da Object)
Metodo pubblico GetType() Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object)
Metodo pubblico 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.
Metodo protetto MemberwiseClone Consente di creare una copia dei riferimenti dell'oggetto Object corrente. (Ereditato da Object)
Metodo pubblico 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.

Vedere anche

Riferimenti

Spazio dei nomi Microsoft.VisualStudio.Shell.Design