ASP.NET MVC定位从cshtml生成的cs文件?

tyr*_*pex 9 asp.net-mvc razor

所以我最近开始使用ASP.NET MVC 4.我正在使用剃须刀引擎.我的问题是关于视图文件,后缀为cshtml.在我看来,这些是由razor预编译成*.cs文件,然后编译成MSIL.(我作为JSP开发人员熟悉的模式.)我做出这个假设的一个原因是,如果我在cshtml文件中输入一些无效的c#代码,我会得到一个编译错误,如下所示:

第34行:公共类_Page_Views_BaseDataAdmin_Index_cshtml:...

第34行并不表示错误在cshtml文件中的位置,就像类_Page_Views_BaseDataAdmin_Index_cshtml似乎是指常规的.net类而不是视图文件一样.

所以我的问题是:我在哪里可以找到cs文件?具体来说,在上面的例子中,"_ Page_Views_BaseDataAdmin_Index_cshtml.cs"?也许我需要添加一些配置来告诉MVC将这个.cs文件保存在磁盘上,如果是这样,我该怎么做?

谢谢!

Sim*_*ver 13

查找生成的文件的快速提示是将其添加到.cshtml文件中.

这将立即显示完整路径

<div>This file is compiled to  @this.GetType().Assembly.CodeBase</div> 
Run Code Online (Sandbox Code Playgroud)


bar*_*rry 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搜索查看视图名称.