MVC3の新しいプロジェクトを作成するときに、カスタムビューエンジンを選択するオプションがあります。RazorとASPXのどちらかを選択できます。ドロップダウンリストにSparkを追加する方法はありますか?
2 に答える
簡単な答えは次のとおりです。いいえ、そうではありません。
長い答えは次のとおりです。はい。ただし、落とし穴があり、レジストリを編集する必要があります。
はNew Project Dialog
、最初にプロジェクトテンプレートを選択してから、そのテンプレートでサポートされているビューエンジンを選択するというアイデアに基づいて構築されています。
他の人はこのウィンドウに独自のものを追加することができたので、別のサードパーティ拡張機能であるxUnit.netTestprojectを使用してASP.NETMVC 3によって提供されるヒントを取得し、しばらくの間レジストリで遊んでいました。
まず、クリーンなSparkプロジェクトを生成できるVisualStudio用のProjectTemplateを作成する必要があります。完全を期すために、これを行うには、新しいRazorプロジェクトを作成し、Spark用に再配線してから、ファイルメニューを使用してテンプレートをエクスポートします。チェックボックスをオフにして、VSに新しいエクスポートを自動登録します。インストールをシンプルに保つことを選択し、新しいテンプレートを公式のMVC3プロジェクトテンプレートが存在する場所に移動しました(私にとってはそうだったC:\Program Files (x86)\Microsoft VisualStudio 10.0\Common\IDE\ProjectTemplates\CSharp\Web
)。次に、VSのコマンドラインから「devenv / setup」を実行して、新しく作成されたテンプレートを見つけて登録します。
新しいダイアログウィンドウへのカスタム追加は、ここに追加する必要があります。
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\10.0\Mvc3\ProjectTemplates]
|
|- [MyOwnTemplate]
|- (REG_SZ)Title="Template title"
|- (REG_SZ)Description="Description for the box in the right"
|- [C#]
|- [Spark]
| |- (REG_SZ)Path="CSharp\\Web"
| |- (REG_SZ)Template="YourCustomCSharpSparkTemplate.zip"
| |- (REG_DWORD)SupportsUnitTests=1
|- [Razor]
|- (REG_SZ)Path="CSharp\\Web"
|- (REG_SZ)Template="YourCustomCSharpRazorTemplate.zip"
|- (REG_DWORD)SupportsUnitTests=0
64ビットインストールを使用していない場合は、開いているレジストリノードからWow6432Nodeキーを削除します。
これで、VSを再起動してMVC3の新規プロジェクトダイアログウィザードを実行すると、新しく登録されたテンプレートがそこに表示されます。カスタムプロジェクトテンプレートを選択すると、ViewEngineドロップダウンに現在のViewEngineとして「Spark」が表示されます。
ProjectTemplatesのNew Project Dialog
下のトップキーでテンプレートをグループ化します。MVC3はデフォルトのテンプレートをレジストリに登録しないため、どのキーでグループ化されているかわからないため、独自のViewEngineをそれらに追加することはできません。
他のビュー エンジン (Spark を含む) のサポートを追加する T4 テンプレートを追加する必要があります。それを説明するリンクは次のとおりです。