2012-01-26 12 views
2

をビルドします。レイザージェネレータ私は与えているアクション

RazorGenerator

を試してみてください。クイックスタートガイドには、ビルドアクションを「なし」に切り替えることが記載されています。ただし、ビューが公開されていないことを意味します。ビルドアクション 'Content'はこれにより公開が可能なので正しいですか?

ありがとうございました。

答えて

2

レイザージェネレータの背後にある目的は、プリコンパイルされることで、ビューがレンダリングされるときに実行されますC#コードにあなたのCSHTMLファイルにマークアップを翻訳し、あなたのかみそりの景色を。

このビューのカスタムツールプロパティをRazorGeneratorに設定した場合、ビューを保存するときにこれが発生する可能性があります。また、Razor Generator MSBuildターゲットを統合することで、ビルド時に発生する可能性があります。

前述のとおり、Razor Generatorを使用しないと、通常、ビューのビルドアクションは「コンテンツ」に設定されます。マークアップは、ビューが最初に要求され、コンパイルされたビューが動的に生成されたアセンブリで使用可能になると、実行時に解析されます。 Razor Generatorを使用する場合、コンパイルされたビューはすでにWebアセンブリの一部であるため、マークアップをコピーする必要はありません。このため、ビューでビルドアクションを「なし」に設定することができます。

その他の詳細:

  • レイザージェネレータはViewEnginesのコレクションにPrecompiledMvcEngine、独自に追加することにより、ASP.NET MVCを拡張します。これは、コンパイルされたビューが要求されたときにそのビューを見つけるために使用されます。

  • PrecompiledMvcEngineの一部のプロパティは、設定されている場合、ビューがディスク上に存在するかどうかエンジンチェックを行い、アセンブリ内にある事前コンパイル済みビューよりも新しい場合に使用します。これは設計時に役立ち、すべてを再構築せずにビューに加えられた変更を見ることができます。

0

私が理解しているように、RazorGeneratorはあなたのビューで使用できるHtmlヘルパーを作成します。 HtmlHelperは、拡張メソッドを持つクラスとしてコンパイルされます。プロジェクトの中で直接使用することは想定されていないので、それが基になっているビューは公開しないでください。したがって、ビューはクイックスタートで述べたとおり、ビルドアクションをなしに設定する必要があります。クイックスタートで

ステップ3は、作成したHTMLヘルパーを使用する方法を示しています。

ネストされたファイルは、プロジェクトでコンパイルされますと通常のヘルパーとして 参照することができます。例えばHtml.WriteSpan("Hello world")

関連する問題