2012-04-23 52 views
2

有没有办法设置我们的MVC3应用程序来使用更新版本的Razor?我尝试使用NuGet,但显然必须有一些额外的布线需要完成,因为我没有看到诸如URL解析和条件属性等新功能的工作。用Razor v2替换MVC3 View Engine?

+0

您的意思是与MVC 4相关的版本?我相信即使是第一个版本,它依赖于System.Web.Mvc 3.0版本,所以在这里也适用相同的情况。这将需要MVC 4.0 DLL ... – 2012-04-23 16:51:01

+0

那么为什么NuGet包? – Sam 2012-04-23 17:01:51

+1

我找到了[这篇博客文章](http://dotnet.dzone.com/articles/using-razor-v2-aspnet-mvc-3),它​​解释了如何在ASP.NET MVC 3中使用Razor V2。 – 2012-06-05 09:20:14

回答

0

在Asp.net论坛上询问并发现NuGet上的RazorEngine与内置Razor View Engine不太一样。

2
  1. 安装ASP.NET MVC 4
  2. 取出参照System.Web.WebPages 1.0和System.Web.Helpers 1.0,然后添加一个引用System.Web.WebPages 2.0和System.Web.Helpers 2.0
  3. 内部根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> 
    
  4. 里面查看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" /> 
    
相关问题