3

我在类库项目中使用RazorEngine 3.2.0 。

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

问题

我尝试使用@inherits关键字。如果我只写view-class的完整限定名,intellisense 就可以了。如果我尝试从中继承,RazorEngine.Templating.TemplateBase<T>似乎整个RazorEngine-Assemlby 都没有解决

模板如下所示:

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

运行时它可以工作——只是智能感知失败了。

问题

智能感知识别 RazorEngine-Assembly 需要什么?

4

1 回答 1

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>

于 2013-10-24T03:45:00.447 回答