2012-04-23 32 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" /> 
    
相關問題