所以我最近开始使用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文件保存在磁盘上,如果是这样,我该怎么做?
谢谢!
答案 0 :(得分:13)
查找生成文件的快速提示是将其添加到.cshtml文件中。
这将立即显示完整路径
<div>This file is compiled to @this.GetType().Assembly.CodeBase</div>
答案 1 :(得分: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搜索查看视图名称。