Vorlagen mit mehreren IWizard-Implementierungen

Visual Studio unterstützt Verkettung und ermöglicht so die Verwendung mehrerer IWizard-Implementierungen einer Vorlage. Diese Implementierungen werden nacheinander aufgerufen, sodass Sie Vorlagen mit umfassender und flexibler Funktionalität erstellen können.

Implementierungsdetails

Ein von Microsoft implementierter VsTemplate-Assistent wird aufgerufen, um eine Vorlage durch Lesen der zugehörigen VSTEMPLATE-Datei zu verarbeiten. Ein VsTemplate-Assistent kann eine oder mehrere Assemblys mit einer IWizard-Implementierung auflisten, die zur Verarbeitung der Vorlage aufgerufen wird. Um die Vorteile der Verkettung nutzen zu können, müssen alle Assistenten in der XML-Datei der Vorlage in der Reihenfolge aufgeführt sein, in der sie aufgerufen werden sollen.

Ein Wörterbuchobjekt kann als Ersetzungsliste für Parameter fungieren, indem es einer Vorlage die Übergabe von Parametern an eine IWizard-Implementierung und gleichzeitig einer IWizard-Implementierung das Übergeben von Parametern an eine andere Implementierung ermöglicht. Ein Verweis auf das an RunStarted übergebene Wörterbuch kann vom IWizard gespeichert werden. Alle Änderungen, die vom IWizard in Benachrichtigungsrückrufen vorgenommen wurden, werden beibehalten.

Ersetzungsparameter (z. B. $MyVariable) weisen einen globalen Gültigkeitsbereich auf. Der Zugriff darauf kann von jedem IWizard erfolgen. Achten Sie darauf, den Ersetzungsvariablen eindeutige Namen zu geben, damit sie nicht versehentlich von anderen IWizards verwendet oder geändert werden. Es wird empfohlen, dass Sie alle Ersetzungsparameter für die Assistenten dokumentieren, damit andere Benutzer sehen, wozu sie verwendet werden.

IWizard enthält eine boolesche Eigenschaft namens ShouldAddItem. Mit dieser Eigenschaft wird ein Assistent darüber benachrichtigt, ob er die angegebenen Dateien hinzufügen soll. Ist ShouldAddItem auf false festgelegt, wird das Element von keinem der Assistenten geladen, die auf den aktuellen Assistenten folgen.

Siehe auch

Aufgaben

Gewusst wie: Ersetzen von Parametern in einer Vorlage

Gewusst wie: Verwenden von Assistenten mit Projektvorlagen