複数の IWizard 実装を含むテンプレート

更新 : 2007 年 11 月

Visual Studio 2008 より前の Visual Studio のバージョンでは、テンプレートがサポートする IWizard 実装は 1 つだけでした。Visual Studio 2008 では "チェーン" という新しい機能が導入され、1 つのテンプレートに複数の、個別の IWizard 実装を含めることができます。これらの実装は順次呼び出され、これによってより高度で柔軟な機能を持つテンプレートを作成できます。

実装の詳細

Microsoft で実装された VsTemplate ウィザードが呼び出され、.vstemplate ファイルを読み取りながらテンプレートを処理します。VsTemplate は、テンプレートの処理に関与するために IWizard 実装を呼び出す、1 つまたは複数のアセンブリの一覧を作成します。チェーンを利用するには、テンプレートの .xml ファイルに、すべてのウィザードが、呼び出される順序でリストされている必要があります。

ディクショナリ オブジェクトはパラメータ置換リストとして機能します。そのために、テンプレートが IWizard 実装にパラメータを渡し、ある IWizard 実装が別の実装にパラメータを渡すことができるようにします。RunStarted に渡されるディクショナリへの参照は、IWizard によって保存されます。通知コールバック内の IWizard による変更はすべて保持されます。

置換パラメータ (たとえば $MyVariable) はスコープ内でグローバルであり、任意の IWizard からアクセスできます。別の IWizard が誤って使用したり変更したりしないように、すべての置換変数に一意の名前が付いていることを確認してください。ウィザードのすべての置換パラメータを文書化して、その使用目的が他のユーザーにもわかるようにすることをお勧めします。

IWizard には ShouldAddItem という名前のブール型のプロパティが含まれています。このプロパティは、指定されたファイルを追加するかどうかをウィザードに通知します。ShouldAddItem が false に設定されている場合、現在のウィザードに従属するすべてのウィザードは、その項目を読み込みません。

参照

処理手順

方法 : テンプレート内のパラメータを置き換える

方法 : プロジェクト テンプレートを組み合わせたウィザードを使用する