Partager via


ProjectTypeResolutionService, classe

Une classe abstraite qui fournit l'implémentation de Visual Studio de l'interface d'ITypeResolutionService.

Hiérarchie d'héritage

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

Espace de noms :  Microsoft.VisualStudio.Shell.Design
Assembly :  Microsoft.VisualStudio.Shell.Design (dans Microsoft.VisualStudio.Shell.Design.dll)

Syntaxe

'Déclaration
Public MustInherit Class ProjectTypeResolutionService
public abstract class ProjectTypeResolutionService

Le type ProjectTypeResolutionService expose les membres suivants.

Constructeurs

  Nom Description
Méthode protégée ProjectTypeResolutionService Une fois substitué dans une classe dérivée, initialise une nouvelle instance de la classe.

Début

Méthodes

  Nom Description
Méthode publique Equals Détermine si l'objet Object spécifié est égal à l'objet Object actuel. (Hérité de Object.)
Méthode protégée Finalize Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de nettoyage avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.)
Méthode publique GetHashCode Sert de fonction de hachage pour un type particulier. (Hérité de Object.)
Méthode publique GetType() Obtient le Type de l'instance actuelle. (Hérité de Object.)
Méthode publique GetType(String, Boolean, Boolean, ReferenceType) Une fois implémenté dans une classe dérivée, essaie d'extraire un type référence selon des critères de recherche comme le nom du type et de son respect de la casse.
Méthode protégée MemberwiseClone Crée une copie superficielle de l'objet Object actuel. (Hérité de Object.)
Méthode publique ToString Retourne une chaîne qui représente l'objet actuel. (Hérité de Object.)

Début

Remarques

La résolution de type de Visual Studio est selon résoudre un nom de type de projet à ses références correspondantes de Visual Studio.Ces références peuvent prendre plusieurs formulaires :

Type de référence

Description

Fichiers sur le disque

Ce sont des références à disques simples qui peuvent ne pas arrêter la manière dont GAC- a basé le travail de références.Cela signifie qu'une référence à un élément dans GAC doit être chargée de GAC, pas à partir du répertoire de Kit de développement logiciel.

Références à un projet

Requiert l'emplacement du fichier de sortie de projet.La résolution de type doit surveillent également des événements de Visual Studio comme renommer un fichier de sortie de projet et basculer des configurations.Dans l'événement d'un commutateur de configuration le projet créé obtiendrez à un répertoire différent.

Sorties générées

Les outils peuvent générer code directement dans le projet.Ce code devient partie intégrante du projet, mais elle peut être une application compilée par le projet de sorte que son binaire est accessible sans générer le projet entier.Ces sorties générées doivent être recherchées d'abord, car les types y sont toujours conflit avec le projet en cours.La résolution de type doit également réaliser des événements de Visual Studio comme « les sorties générées par régénération car ces derniers ne sont pas générés automatiquement.

Chaque assembly chargé est stocké par un objet d'AssemblyEntry, et ces objets sont prises en charge dans des groupes comme décrit ci-dessus.Les deux fichiers sur le disque et références à un projet sont des pointeurs vers les mêmes objets.Deux listes parallèles sont implémentées car les références à un projet sont toujours en mémoire chargé et ce processus dégrade les performances.La modèle de récupération parcourt d'abord les fichiers sur la liste de disque car plusieurs des DLL qu'elle référence peuvent être chargés par l'intermédiaire de GAC, qui est plus efficace d'un point de performances.En cas de échec de récupération pour les fichiers sur le disque répertorient les transverses suivants de recherche les références plus coûteuses à une liste des projets.

Chargeant les sorties générées requiert la compilation de Visual Studio qui leur fait le type le plus coûteux pour extraire.Toutefois le coût de performance d'évaluer ces éléments pour une correspondance représente une grande correspondance de performances, les sorties générées doit toujours être activé avant des références à un projet car les sorties générées, un sous-ensemble spécial de références à un projet, permettent les types en double.

Sécurité des threads

Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Voir aussi

Référence

Microsoft.VisualStudio.Shell.Design, espace de noms