Partager via


Modèles avec plusieurs implémentations d'IWizard

Visual Studio prend en charge le chaînage, qui permet à un même modèle d'avoir plusieurs implémentations IWizard. Ces implémentations sont appelées de manière séquentielle, ce qui vous permet de créer des modèles aux fonctionnalités riches et souples.

Détails d'implémentation

Un Assistant VsTemplate implémenté par Microsoft est appelé pour traiter un modèle par la lecture de son fichier .vstemplate. Il peut indiquer un ou plusieurs assemblys comportant une implémentation d'IWizard qui sera appelée à participer au traitement du modèle. Pour tirer parti du chaînage, tous les Assistant doivent être répertoriés dans le fichier .xml du modèle, dans l'ordre dans lequel ils doivent être appelés.

Un objet Dictionary peut agir comme une liste de remplacement de paramètres en permettant à un modèle de passer des paramètres à une implémentation d'IWizard et en permettant également à une implémentation d'IWizard de passer des paramètres à une autre implémentation. Une référence au dictionnaire passée à RunStarted peut être enregistrée par IWizard. Toutes les modifications apportées par IWizard dans les rappels de notification sont persistantes.

Les paramètres de remplacement (tels que $MyVariable) sont globaux dans la portée et sont accessibles depuis n'importe quel IWizard. Veillez à attribuer un nom unique aux variables de remplacement que d'autres Assistants IWizard ne doivent pas utiliser ou modifier par inadvertance. Il est conseillé de documenter les paramètres de remplacement pour vos Assistants, afin que les autres utilisateurs puissent connaître leur utilisation.

IWizard contient une propriété booléenne nommée ShouldAddItem. Cette propriété signale à un Assistant s'il doit ajouter les fichiers indiqués. Si ShouldAddItem a la valeur false, aucun des Assistants qui suivent l'Assistant actuel ne chargera l'élément.

Voir aussi

Tâches

Comment : substituer des paramètres dans un modèle

Comment : utiliser des Assistants avec des modèles de projet