如何在运行时之前编译cshtml

时间:2012-11-20 20:57:48

标签: asp.net-mvc jquery-mobile razor

我相信我在某个地方读到了一个项目文件中的设置,它允许您在构建Visual Studio项目时编译.cshtml文件。

刚开始使用MVC/Razor/Query Mobile,当我在.cshtml文件中的代码块出错时,我对“错误加载页面”感到恼火

3 个答案:

答案 0 :(得分:68)

在.csproj文件的<MvcBuildViews>true</MvcBuildViews>元素中设置<PropertyGroup>

答案 1 :(得分:13)

除了真实设置外,您还需要确保以下设置在csproj中处于活动状态:

<Target Name="MvcBuildViews" AfterTargets="AfterBuild" Condition="'$(MvcBuildViews)'=='true'">
<AspNetCompiler VirtualPath="temp" PhysicalPath="$(WebProjectOutputDir)" />
</Target>

答案 2 :(得分:2)

MvcBuildViews通常是错误的,因为它没有按照您想要的术语预编译视图。

MvcBuildViews临时构建视图,并将构建结果返回给构建过程以在VS错误窗口中显示可能的构建错误。

要实现对生产版本的视图的真正预编译,必须在项目的发布Web应用配置窗口中正确设置特定的值。

有关如何操作的主要文章,请参见here,有关如何通过msBuild和Azure进行操作的详细信息,请参见here