剃刀2与网页2

时间:2013-03-08 09:17:08

标签: asp.net asp.net-webpages razor-2

我无法让Razor 2视图引擎与我的网页项目一起使用。我安装了Web Matrix和所有东西,但显而易见的是它使用的是Razor 1引擎,因为波形符号功能(href =“〜/ style.css”)无效。

我试图修改我的配置文件并引用Razor 2 dll文件,但它仍无效。

这就是我的配置文件:

<?xml version="1.0"?>
<configuration>

  <configSections>
    <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>

  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" />
        <bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="2.0.0.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>

  <appSettings>
    <add key="webpages:Enabled" value="true"/>
  </appSettings>

  <system.web>
    <compilation debug="true"/>
  </system.web>

</configuration>

1 个答案:

答案 0 :(得分:1)

当你查看bin文件夹中的System.Web.WebPages.dll时,那里有哪个版本? (例如,我是v2.0.20710.0)

如果您正在使用最新的Webmatrix v2 Rel 2,不确定为什么会有旧版本,但是您可以在这里找到您感兴趣的程序集:

C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v2.0\Assemblies


根据评论主题进行更新:

Adrian Rosca最终在VS2012中做的工作是参考以下所有程序集并使它们“Copy Local”

  • System.Web.Razor.dll
  • System.Web.WebPages.Deployment.dll
  • System.Web.WebPages.dll
  • System.Web.WebPages.Razor.dll。


    编辑:

    您可能想尝试将 targetFramework =“4.0” 添加到您的web.config编译条目中:

     <compilation debug="true" targetFramework="4.0" />
    

    查看以下SO帖子以阅读更多信息,并根据您部署Web应用程序的位置,确定它是否对您真正重要:
    What happens if I don't specify targetFramework="4.0"?