PrismWPFSampleでPrismを使用したアプリケーションの基本形を作ってきましたが、自分自身のいつも使うパターンをテンプレートとして用意しておくことで、新しいアプリケーションを簡単に作り始めることができます。複数のプロジェクトを持つPrismアプリケーションのテンプレートの作り方をまとめておきます。
ソリューションの準備
元になるアプリケーションをコピーしておき、基本となる部分以外を削除します。

今まで作ってきた上記のような構成から、基本部分のみを残すと次のようなものになります。

この構成をテンプレートとして保存する事を考えます。
プロジェクトのテンプレートの作成
まずやらなくてはいけないのは、ソリューションに含まれるプロジェクトを一つづつテンプレート化する事です。 プロジェクトのテンプレートのエクスポートを選びます。

プロジェクトのテンプレートを選択して、プロジェクトを一つ選びます。

テンプレートのオプションでは、このままテンプレートとするのではないので、テンプレートを自動的にインポートのチェックを外しておきます。

この作業をこの例では4回繰り返して、すべてのプロジェクトのテンプレートを作成します。
ソリューションのテンプレートの作成
ソリューションテンプレート用のフォルダーを作成し、プロジェクトごとに作成したテンプレートのZIPファイルを解凍しておきます。

そこにソリューション用の .vstemplate ファイル拡張子を持つ XML ファイルを作成します。 内容は、次のように各プロジェクトの vstemplate ファイルの相対パスを記述します。 メインプロジェクトの名前を、ソリューションの新規作成時の名前にするために、ProjectTemplateLink 要素の ProjectName 属性で指定します。
<VSTemplate Version="3.0.0" Type="ProjectGroup" xmlns="http://schemas.microsoft.com/developer/vstemplate/2005">
<TemplateData>
<Name>PrismWpfApp</Name>
<Description>Prism WPF Application</Description>
<Icon>__TemplateIcon.ico</Icon>
<ProjectType>CSharp</ProjectType>
</TemplateData>
<TemplateContent>
<ProjectCollection>
<ProjectTemplateLink ProjectName="$safeprojectname$" CopyParameters="true">
PrismWpfApp\MyTemplate.vstemplate
</ProjectTemplateLink>
<ProjectTemplateLink ProjectName="CommonModels">
CommonModels\MyTemplate.vstemplate
</ProjectTemplateLink>
<ProjectTemplateLink ProjectName="ModuleA">
ModuleA\MyTemplate.vstemplate
</ProjectTemplateLink>
<ProjectTemplateLink ProjectName="TraceListeners">
TraceListeners\MyTemplate.vstemplate
</ProjectTemplateLink>
</ProjectCollection>
</TemplateContent>
</VSTemplate>
テンプレートの配置
ソリューション用のフォルダーごとZip圧縮して、テンプレートのディレクトリに .zip ファイルをコピーします。 既定では、このディレクトリは %USERPROFILE%\Documents\Visual Studio <バージョン>\Templates\ProjectTemplates です。C#用のテンプレートなので、更に下位のVisual C#フォルダーに置いても良いでしょう。
作成したソリューションの場所
今回のソースコードと作成したテンプレートは次の場所に置いてあります。