我在类库项目中使用 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需要什么?
答案 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>