Udostępnij za pośrednictwem


Klasa ProjectTypeResolutionService

Klasa abstrakcyjna, która zapewnia realizacji programu Visual Studio ITypeResolutionService interfejsu.

Hierarchia dziedziczenia

System.Object
  Microsoft.VisualStudio.Shell.Design.ProjectTypeResolutionService

Przestrzeń nazw:  Microsoft.VisualStudio.Shell.Design
Zestaw:  Microsoft.VisualStudio.Shell.Design (w Microsoft.VisualStudio.Shell.Design.dll)

Składnia

'Deklaracja
Public MustInherit Class ProjectTypeResolutionService
public abstract class ProjectTypeResolutionService

Typ ProjectTypeResolutionService uwidacznia następujące elementy członkowskie.

Konstruktorzy

  Nazwa Opis
Metoda chroniona ProjectTypeResolutionService Gdy zastąpiony w klasie pochodnej, inicjuje nowe wystąpienie klasy.

Początek

Metody

  Nazwa Opis
Metoda publiczna Equals Określa, czy określony obiekt jest równa bieżącego obiektu. (Odziedziczone z Object).
Metoda chroniona Finalize Umożliwia obiekt spróbuj zwolnić zasoby i wykonywania innych operacji oczyszczania, zanim jest odzyskane w procesie wyrzucania elementów bezużytecznych. (Odziedziczone z Object).
Metoda publiczna GetHashCode Służy jako funkcja mieszania dla określonego typu. (Odziedziczone z Object).
Metoda publiczna GetType() Pobiera Type bieżącej instancji. (Odziedziczone z Object).
Metoda publiczna GetType(String, Boolean, Boolean, ReferenceType) Po wdrożeniu w klasie pochodnej próby pobrania typ odwołania, w oparciu o kryteria wyszukiwania, takie jak nazwa typu oraz jego uwzględniania wielkości liter.
Metoda chroniona MemberwiseClone Tworzy kopię płytkie bieżące Object. (Odziedziczone z Object).
Metoda publiczna ToString Zwraca ciąg, który reprezentuje bieżącego obiektu. (Odziedziczone z Object).

Początek

Uwagi

Visual Studio wpisz rozdzielczość jest oparty na przetłumaczenie nazwy typu projektu na jego odpowiadające odniesienia Visual Studio.Odniesienia te można wykonać na kilka formularzy:

Rodzaj odwołania

Opis

Pliki na dysku

Są to proste odwołań opartej na dysku, które nie może przerwać sposób działania odwołania oparte na pamięci podręcznej GAC.Oznacza to, że odniesienia do czegoś w pamięci podręcznej GAC musi być załadowany z pamięci podręcznej GAC nie z katalogu SDK.

Odniesienia do projektu

Wymaga lokalizacji pliku wyjściowego w projekcie.Rozdzielczość typu należy również monitorować Visual Studio zdarzenia, takie jak zmiana nazwy projektu wyjściowy plik i przełączania konfiguracje.Z przełącznika konfiguracji wbudowanego projektu będą wyprowadzać dane do innego katalogu.

Generowane dane wyjściowe

Narzędzia może wygenerować kod bezpośrednio do projektu.Kod ten staje się częścią projektu, ale można go na żądanie, opracowane przez projekt, więc jego dane binarne są dostępne bez tworzenia całego projektu.Te wyjścia generowane być przeszukiwany po pierwsze, ponieważ typy w nich zawsze w konflikcie z bieżącego projektu.Rozdzielczość typu również muszą być świadomi zdarzeń programu Visual Studio like 'odbudować wyjścia generowane', ponieważ nie są one automatycznie wbudowane.

Każdego zestawu załadowany jest wspierany przez obiekt AssemblyEntry, a obiekty te są rozkładane na grupy, jak opisano powyżej.Zarówno pliki na dysku i odwołania do projektu są wskaźniki te same obiekty.Dwie listy równoległe są implementowane odwołania do projektu zawsze są ładowane w pamięci, ponieważ ten proces obniża wydajność.System pobierania przechodzi najpierw listy plików na dysku, ponieważ wiele bibliotek DLL, do których się on odwołuje mogą być ładowane za pośrednictwem GAW, który jest bardziej efektywne z punktu widzenia wydajności.Jeśli pobieranie do listy plików na dysku transverses dalej wyszukiwania droższe odniesienia do listy projektu.

Ładowanie wyjścia generowane wymaga kompilacji z programu Visual Studio, co czyni je najdroższych typu do pobrania.Chociaż koszt wyników oceny tych elementów na mecz reprezentuje hit duża wydajność, wyjścia generowane wciąż powinny być sprawdzone przed odwołania do projektu ponieważ wygenerowany wyjść specjalny podzbiór odwołania do projektu, zezwala na zduplikowane typy.

Bezpieczeństwo wątku

Wszystkie publiczne static (Shared w języku Visual Basic) elementy członkowskie tego typu są bezpieczne dla wątków. Wystąpienia elementów członkowskich nie dają gwarancji bezpieczeństwa wątków.

Zobacz też

Informacje

Przestrzeń nazw Microsoft.VisualStudio.Shell.Design