RazorEngine 3.2.0:在.cshtml文件中找不到Razor命名空间

时间:2013-02-11 10:05:41

标签: razor intellisense razorengine

我在类库项目中使用 RazorEngine 3.2.0

我按照以下SO-question的回答解决了一些与类库相关的问题:Razor intellisense error: Feature 'extension method' cannot be used because it is not part of the ISO-2 C# language specification

问题

我尝试使用@inherits关键字。如果我只是视图类编写完整的限定名称,智能感知功能。如果我尝试继承RazorEngine.Templating.TemplateBase<T>,似乎整个 RazorEngine-Assemlby未解决

模板看起来像这样:

@inherits RazorEngine.Templating.TemplateBase<ViewModels.PrintCatalogData>
<!DOCTYPE html>
<html>
<head>
...

运行时它可以正常运行 - 只是 intellisense失败

问题

intellisense识别RazorEngine-Assembly需要什么?

1 个答案:

答案 0 :(得分:1)

@inherits可能不喜欢完全限定名。尝试将命名空间RazorEngine.Templating添加到web.config,然后从视图模板中删除完全限定名称。

  <system.web.webPages.razor>
     <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc,    Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
     <pages pageBaseType="System.Web.Mvc.WebViewPage">
        <namespaces>
          <add namespace="System.Web.Mvc" />
          <add namespace="System.Web.Mvc.Ajax" />
          <add namespace="System.Web.Mvc.Html" />
          <add namespace="System.Web.Optimization"/>
          <add namespace="System.Web.Routing" />
          <add namespace="Assemblies"/>
          <add namespace="RazorEngine.Templating"/>
          <add namespace="Resources"/>
        </namespaces>
     </pages>