Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Razor ヘルパーなどを記述した .cshtml ファイルを、アセンブリ (.dll) として配布したい場合があります。その際に、.cshtml ファイルを C# クラス ファイルに変換するツールが Razor Generator (Razor Single File Generator) です。
これは、Visual Studio 2010 のメニュー [ツール] – [拡張機能マネージャー] からインストールすることができます。
この詳細なドキュメントなどは下記の CodePlex サイトをご参照ください。
Razro Single File Generator: CodePlex
★ 使い方
まずは、プロジェクトに .cshtml ファイルを追加して、ヘルパーを記述します。ここでは ASP.NET MVC 3 のプロジェクトを使用しています。

プロジェクトへ .cshtml ファイルを追加ヘルパー メソッドを記述
一行目の
@* Generator : MvcHelper *@
は、生成する C# コードの種類を指定します。ここで指定できるのは下記となっています。MvcHelper, MvcView, WebPage, WebPagesHelper, Template ※詳細は https://razorgenerator.codeplex.com/ をご参照ください。
追加した .cshtml ファイルのプロパティを下記の通りに指定します。
カスタムツール: RazorGenerator
ビルド アクション:なし
すると、RazorGenerator により、下記の通り .cs ファイルが生成されます。

これでプロジェクトをビルドすると、bin フォルダー内のアセンブリとしてビルドされますので、アプリケーションの配置の際にヘルパーを記述した .cshtml ファイルを配置する必要はなくなります。
あとは、View ファイルなどで、下記の例のようにヘルパーを使用することができます。

作成したヘルパーへの名前空間参照も忘れずに。(web.config でも可能)
実行結果例
Razor でカスタム ヘルパーを作成する場合などでご活用くださいませ。