ProjectCollection Classe

Définition

Cette classe encapsule un ensemble de projets connexes, leurs ensembles d’outils, un ensemble par défaut de propriétés globales et les enregistreurs d’événements qui doivent être utilisés pour les générer. Une version globale de cette classe joue le rôle de ProjectCollection par défaut. Plusieurs ProjectCollections peuvent exister dans un appdomain. Toutefois, ceux-ci ne doivent pas être générés simultanément.

public ref class ProjectCollection : IDisposable
public class ProjectCollection : IDisposable
type ProjectCollection = class
    interface IDisposable
Public Class ProjectCollection
Implements IDisposable
Héritage
ProjectCollection
Implémente

Remarques

Plusieurs collections de projets peuvent exister dans un domaine d’application. Toutefois, ceux-ci ne doivent pas être générés simultanément.

Constructeurs

ProjectCollection()

Instancie une collection de projets sans propriétés globales ou enregistreurs d’événements qui lisent les informations de l’ensemble d’outils à partir du fichier config et du registre.

ProjectCollection(IDictionary<String,String>)

Instancie une collection de projets ayant les propriétés globales spécifiées, aucun enregistreur d’événements, et qui lit les informations relatives à l’ensemble d’outils à partir du fichier de configuration et du Registre. Peut lever InvalidToolsetDefinitionException.

ProjectCollection(IDictionary<String,String>, IEnumerable<ILogger>, IEnumerable<ForwardingLoggerRecord>, ToolsetDefinitionLocations, Int32, Boolean)

Instancie une collection de projets avec les propriétés globales et les enregistreurs d’événements spécifiés et en utilisant les emplacements d’ensembles d’outils, le nombre de nœuds et la définition de OnlyLogCriticalEvents spécifiés. Les propriétés globales et les enregistreurs d'événements peuvent avoir la valeur null. Lève InvalidProjectFileException si l’une des propriétés globales est réservée. Peut lever InvalidToolsetDefinitionException.

ProjectCollection(IDictionary<String,String>, IEnumerable<ILogger>, IEnumerable<ForwardingLoggerRecord>, ToolsetDefinitionLocations, Int32, Boolean, Boolean)

Instancie une collection de projets avec les propriétés globales et les enregistreurs d’événements spécifiés et en utilisant les emplacements d’ensembles d’outils, le nombre de nœuds et la définition de OnlyLogCriticalEvents spécifiés. Les propriétés globales et les enregistreurs d'événements peuvent avoir la valeur null. Lève InvalidProjectFileException si l’une des propriétés globales est réservée. Peut lever InvalidToolsetDefinitionException.

ProjectCollection(IDictionary<String,String>, IEnumerable<ILogger>, ToolsetDefinitionLocations)

Instancie une collection de projets ayant les propriétés globales et les enregistreurs d’événements spécifiés, et utilisant les emplacements d’ensembles d’outils spécifiés. Peut lever InvalidToolsetDefinitionException.

ProjectCollection(ToolsetDefinitionLocations)

Instancie une collection de projets à l’aide d’ensembles d’outils à partir des emplacements spécifiés et sans propriétés globales ni enregistreurs d’événements. Peut lever InvalidToolsetDefinitionException.

Propriétés

Count

Nombre de projets actuellement chargés dans cette collection.

DefaultToolsVersion

Version des outils par défaut de cette collection de projets. Les projets utilisent cette version d’outils s’ils n’ont pas indiqué la version des outils à utiliser. Cette valeur est extraite du fichier .exe.config ou ailleurs dans le registre ou si aucune version d’outils par défaut n’est spécifiée, elle est codée en dur sur la version d’outils « 2.0 ». La méthode setter lève une InvalidOperationException si un ensemble d’outils avec la version d’outils fournie n’a pas été défini. Toujours défini.

DisableMarkDirty

Indique si MarkDirty() est temporairement désactivé sur les projets de cette collection. Cela permet, par exemple, aux propriétés globales d’être définies sans que les projets ne soient marqués comme modifiés pour la réévaluation, en conséquence.

DisplayVersion

Obtient une version du moteur pouvant être affichée pour un utilisateur.

GlobalProjectCollection

Récupère l’objet de collection de projets globale. Il s’agit d’une collection de projets Singleton sans propriétés globales ni enregistreurs d’événements qui lit les informations de l’ensemble d’outils à partir du fichier config et du registre. Peut lever InvalidToolsetDefinitionException. Thread safe.

GlobalProperties

Retourne les propriétés globales par défaut pour tous les projets de cette collection. Dictionnaire en lecture seule inactif.

HostServices

Objet exposant les services hôtes aux tâches pendant les builds des projets contenus dans cette collection de projets. Par défaut, HostServices est utilisé. Peut avoir la valeur null, mais le getter crée une nouvelle instance dans ce cas.

IsBuildEnabled

Il s’agit de la valeur par défaut utilisée par les projets créés récemment pour déterminer si la génération de projets est activée ou non. Ceci est exécuter pour des raisons de sécurité au cas où un hôte souhaite contrôler étroitement les projets qu’il autorise à exécuter des cibles/tâches.

LoadedProjects

Tous les projets actuellement chargés dans cette collection. Chacun possède une combinaison unique de chemin d’accès, de propriétés globales et de version des outils.

Loggers

Enregistreurs d’événements dont tous les projets qu’ils contiennent seront utilisés pour leurs builds. Les enregistreurs d’événements sont ajoutés avec RegisterLogger(ILogger) . Retourne une collection vide s’il n’y a pas d’enregistreur d’événements.

OnlyLogCriticalEvents

Lorsque la valeur est true, enregistre uniquement les événements critiques tels que les avertissements et les erreurs. Doit être ici pour la compatibilité des API

SkipEvaluation

Indique si la réévaluation est temporairement désactivée sur les projets de cette collection. Cela est utile quand l'hôte est censé effectuer un certain nombre de lectures et d'écritures dans les projets, et qu'il souhaite sacrifier temporairement l'exactitude pour des raisons de performances.

ToolsetLocations

Retourne les emplacements utilisés pour rechercher les ensembles d'outils.

Toolsets

Retourne les ensembles d’outils que ce ProjectCollection connaît.

Version

Obtient la version de fichier du fichier dans lequel se trouve l’assembly du moteur.

Méthodes

AddToolset(Toolset)

Ajoutez un nouvel ensemble d’outils. Remplace tout ensemble d'outils existant par la même version des outils.

ContainsToolset(String)

Retourne la valeur true si un ensemble d’outils est défini pour la version des outils spécifiée ; sinon, false.

Dispose()

Appelée lorsqu’un hôte a complètement terminé la collection de projets.

Dispose(Boolean)

Modèle Dispose des instructions d’infrastructure standard suivant. Arrêtez le service de journalisation si la collection de projets en possède un, afin d’arrêter le thread des enregistreurs d’événements et des enregistreurs d'événements.

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
Escape(String)

Créer une séquence d’échappement d’une chaîne à l’aide du format d’échappement MSBuild. Par exemple, « % 3b » pour « ; ». Seuls les caractères particulièrement significatifs pour l’analyse MSBuild sont placés dans une séquence d’échappement. Les appelants peuvent utiliser cette méthode pour faire analyser une chaîne sécurisée avec d’autres méthodes qui, sinon, le développeront ; ou pour faire écrire une chaîne sécurisée dans un fichier projet.

GetEffectiveToolsVersion(String, String)

Déterminez le ToolsVersion à utiliser pour générer réellement le projet.

GetGlobalProperty(String)

Obtenir une propriété globale sur la collection de projets portant le nom spécifié, sinon retourne la valeur null.

GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetLoadedProjects(String)

Retourne tous les projets chargés avec le chemin d’accès fourni. Il peut y en avoir plusieurs, s’ils sont distingués par les propriétés globales et/ou la version des outils.

GetToolset(String)

Obtenir l'ensemble d'outils ayant la version des outils spécifiée. S’il n’est pas présent, retourne la valeur null.

GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
LoadProject(String)

Charge un projet avec le nom de fichier spécifié, à l’aide des propriétés globales et de la version des outils de la collection. Si un projet correspondant est déjà chargé, il est retourné ; sinon, un nouveau projet est chargé.

LoadProject(String, IDictionary<String,String>, String)

Charge un projet avec le nom de fichier, la version des outils et les propriétés globales spécifiés. Si un projet correspondant est déjà chargé, il est retourné ; sinon, un nouveau projet est chargé.

LoadProject(String, String)

Charge un projet avec le nom de fichier et la version des outils spécifiés, à l’aide des propriétés globales de la collection. Si un projet correspondant est déjà chargé, il est retourné ; sinon, un nouveau projet est chargé.

LoadProject(XmlReader)

Charge un projet avec le lecteur spécifié, à l’aide des propriétés globales et de la version des outils de la collection. Le projet est ajouté à cette collection de projets lorsqu’elle est nommée.

LoadProject(XmlReader, IDictionary<String,String>, String)

Charge un projet avec le lecteur, la version des outils et les propriétés globales spécifiés. Le projet est ajouté à cette collection de projets lorsqu’elle est nommée.

LoadProject(XmlReader, String)

Charge un projet avec la version de lecteur et d’outils spécifiée, à l’aide des propriétés globales de la collection. Le projet est ajouté à cette collection de projets lorsqu’elle est nommée.

MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
RegisterForwardingLoggers(IEnumerable<ForwardingLoggerRecord>)

Ajoute des enregistreurs d’événements distants à la collection d’enregistreurs d’événements distants utilisés pour les builds de projets dans cette collection. Ce paramètre peut être null.

RegisterLogger(ILogger)

Ajoute un enregistreur d’événements à la collection d’enregistreurs d’événements utilisée pour les builds de projets dans cette collection. Si l’objet de l’enregistreur d'événements figure déjà dans la collection, rien n’est fait.

RegisterLoggers(IEnumerable<ILogger>)

Ajoute des enregistreurs d’événements à la collection d’enregistreurs d’événements utilisée pour les builds de projets dans cette collection. Si un objet d’enregistreur d'événements figure déjà dans la collection, rien n’est fait pour cet enregistreur d’événements. Ce paramètre peut être null.

RemoveAllToolsets()

Supprime tous les ensembles d’outils.

RemoveGlobalProperty(String)

Supprime une propriété globale du jeu de propriétés globales au niveau de la collection et tous les projets de la collection de projets. Si elle se trouvait sur cette collection de projets, retourne la valeur true.

RemoveToolset(String)

Supprimez un ensemble d’outils. Retourne true s’il était présent ; sinon, false.

SetGlobalProperty(String, String)

Définissez une propriété globale au niveau de la collection et sur tous les projets de la collection de projets.

ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)
TryUnloadProject(ProjectRootElement)

Décharge entièrement un élément racine XML du project du cache, s’il n’est pas utilisé par le projet chargé dans cette collection. Retourne la valeur true s’il a été déchargé avec succès ou s’il n’a pas déjà été chargé. Retourne false s’il n’a pas été déchargé car il était toujours utilisé par un Project chargé.

Unescape(String)

Annule la séquence d'échappement d’une chaîne à l’aide du format d’échappement MSBuild. Par exemple, « % 3b » pour « ; ». Tous les caractères d’échappement ne font pas l’objet d’une séquence d’échappement.

UnloadAllProjects()

Décharge tous les projets contenus dans ce ProjectCollection. L’hôte doit l’appeler lorsque tous les projets sont complètement terminés.

UnloadProject(Project)

Décharge le projet spécifique spécifié. L’hôte doit l’appeler lorsque le projet est complètement terminé. Si le projet n’était pas déjà chargé, lève InvalidOperationException.

UnloadProject(ProjectRootElement)

Décharge un élément racine XML du projet du cache faible.

UnregisterAllLoggers()

Supprime tous les enregistreurs d’événements de la collection d’enregistreurs d’événements utilisés pour les builds de projets dans cette collection.

Événements

ProjectAdded

Événement déclenché quand un projet est ajouté à ProjectRootElementCache de cette collection de projets.

ProjectChanged

Déclenché lorsqu'un Project contenu par cette instance est directement modifié.

ProjectCollectionChanged

Levé quand l'état est modifié sur cette instance.

ProjectXmlChanged

Déclenché lorsqu'un ProjectRootElement contenu par cette instance est modifié.

S’applique à