ASP.NET MVC – 更新预编译的Razor View文件直播生产
我想知道以下是否可行:
>通过打开visual studio中的项目设置,使用我们的MVC应用程序预编译Razor视图. 解决方法
是的,你可以这样做.视图引擎会将每个目录中的所有文件重新编译为一个单独的DLL,并将其重新编译为这样的文件
您可以使用ILSpy或Reflector打开此文件,并确切地查看编译到哪个文件.如果你有很多目录,你会看到生成了几个DLL. 请注意,所有theMvcBuildViews都会运行此post post构建事件,就像您点击应用程序所需的每个文件一样. <Target Name="MvcBuildViews" AfterTargets="AfterBuild" Condition="'$(MvcBuildViews)'=='true'"> <AspNetCompiler VirtualPath="temp" PhysicalPath="$(WebProjectOutputDir)" /> </Target> 为了获得最佳性能,我建议使用RazorGenerator precompiler.这实际上将cshtml文件嵌入到您的主DLL中,这不是MvcBuildViews所做的.再加上它快得多. 如果要在生产中使用它,则需要将RazorGeneratorMvcStart.cs中的UsePhysicalViewsIfNewer更改为true,以便在更新视图时重新编译. 提示:如果您想要确切地找到编译cshtml文件的DLL,只需将其添加到您的页面即可 <div>This file is compiled to @this.GetType().Assembly.CodeBase</div> 然后你将获得完整的路径,而不是寻找它. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc – .net mvc仅当视图中有值时才在视
- asp.net-mvc-4 – 如何在Durandal中使用cshtml文
- asp.net-mvc – 在ASP.net MVC单元测试中访问Mod
- ASP.NET Cookies BUG – 多个cookie随机复制?
- asp.net-mvc – 需要帮助来应用SOLID原则
- asp.net – Web Forms错误消息:“这不是scriptl
- asp.net-mvc – ASP.NET MVC – 从视图部分更新模
- 限制面向公众的asp.net应用程序演示站点?
- asp.net-mvc – WebAPI控制器中的MVC路由
- asp.net-mvc-3 – 在MVC 3.0中重写Html.BeginFor