1

我无法让 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>
4

1 回答 1

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 中完成这项工作的是引用所有以下程序集并使它们“复制本地”

  • 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 应用程序的位置,它对您是否真的很重要:
    如果我不指定 targetFramework="4.0" 会发生什么?

  • 于 2013-03-09T12:27:23.223 回答