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 | |
---|---|---|
ProjectTypeResolutionService | Une fois substitué dans une classe dérivée, initialise une nouvelle instance de la classe. |
Début
Méthodes
Nom | Description | |
---|---|---|
Equals | Détermine si l'objet Object spécifié est égal à l'objet Object actuel. (Hérité de Object.) | |
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.) | |
GetHashCode | Sert de fonction de hachage pour un type particulier. (Hérité de Object.) | |
GetType() | Obtient le Type de l'instance actuelle. (Hérité de Object.) | |
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. | |
MemberwiseClone | Crée une copie superficielle de l'objet Object actuel. (Hérité de Object.) | |
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.