11

そこで、最近 ASP.NET MVC 4 を使い始めました。かみそりエンジンを使用しています。私の質問は、接尾辞が cshtml のビュー ファイルに関するものです。これらは、かみそりによって *.cs ファイルにプリコンパイルされ、次に MSIL にコンパイルされるようです。(JSP 開発者としての私の時代からおなじみのパターンです。) 私がこの仮定を立てている理由の 1 つは、無効な c# コードを cshtml ファイルに入力すると、次のようなコンパイル エラーが表示されるためです。

34 行目: public class _Page_Views_BaseDataAdmin_Index_cshtml : ...

また、34 行目は、cshtml ファイルのどこにエラーがあるかを示すものではありません。これは、クラス _Page_Views_BaseDataAdmin_Index_cshtml がビュー ファイルではなく通常の .net クラスを参照しているように見えるのと同じです。

私の質問は次のとおりです。 cs ファイルはどこにありますか? 具体的には、上記の例では「_Page_Views_BaseDataAdmin_Index_cshtml.cs」? この .cs ファイルをディスクに保持するように MVC に指示するために、構成を追加する必要があるかもしれません。

ありがとう!

4

2 に答える 2

5

コンパイルされたビューは、Temporary ASP.NET Files フォルダーにあります。

最初に、ビューに対応する .compiled ファイルを見つけます (例: home.cshtml): home.cshtml.a8d08dba.compiled

このファイルにはアセンブリ名が含まれています: assembly="App_Web_hkc53urb"

.cs ファイルは、アセンブリ名に数字を連結したものになります: App_Web_hkc53urb.1.cs

より簡単な方法は、ASP.NET の一時ディレクトリで Windows 検索を使用してビュー名を検索することです。

于 2012-11-02T16:20:28.363 に答える