2
有没有办法设置我们的MVC3应用程序来使用更新版本的Razor?我尝试使用NuGet,但显然必须有一些额外的布线需要完成,因为我没有看到诸如URL解析和条件属性等新功能的工作。用Razor v2替换MVC3 View Engine?
有没有办法设置我们的MVC3应用程序来使用更新版本的Razor?我尝试使用NuGet,但显然必须有一些额外的布线需要完成,因为我没有看到诸如URL解析和条件属性等新功能的工作。用Razor v2替换MVC3 View Engine?
在Asp.net论坛上询问并发现NuGet上的RazorEngine与内置Razor View Engine不太一样。
内部根web.config文件,添加/更新这些设置:
<appSettings>
<add key="webpages:Version" value="2.0.0.0" />
<add key="webpages:Enabled" value="true" />
<add key="PreserveLoginUrl" value="true" />
...
<add assembly="System.Web.WebPages, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Helpers, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
...
<dependentAssembly>
<assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
</dependentAssembly>
里面查看web.config文件,添加/更新这些设置:
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
<section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
</sectionGroup>
</configSections>
<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
您的意思是与MVC 4相关的版本?我相信即使是第一个版本,它依赖于System.Web.Mvc 3.0版本,所以在这里也适用相同的情况。这将需要MVC 4.0 DLL ... – 2012-04-23 16:51:01
那么为什么NuGet包? – Sam 2012-04-23 17:01:51
我找到了[这篇博客文章](http://dotnet.dzone.com/articles/using-razor-v2-aspnet-mvc-3),它解释了如何在ASP.NET MVC 3中使用Razor V2。 – 2012-06-05 09:20:14