VS2015 在 RazorEngine 模板中看不到 Linq

本文关键字:看不到 Linq RazorEngine VS2015 | 更新日期: 2023-09-27 18:36:50

我正在尝试在Visual Studio 2015中使用完整的IntelliSense创建最简单的RazorEngine启动项目。

我正在努力使 Linq 扩展在模板中可用。它们已正确编译,但Visual Studio在打开模板时仍然输出错误:

"列表<字符串>"不包含"选择"的定义,接受可以找到"列表<字符串>"类型的第一个参数(您是否缺少 using 指令或程序集引用?

和错误 @using System.Linq ,但错误是:

命名空间"

System"中不存在类型或命名空间"Linq"

我错过了什么?

完整的代码在这个分支上: https://github.com/cyrilgandon/RazorEngineGenerator/tree/LinqUnavailable

我可以看到一些帖子建议在 app.config 中添加引用,但我在文档(链接)中的任何地方都没有看到需要这样做。

VS2015 在 RazorEngine 模板中看不到 Linq

我遇到了同样的问题,我已经尝试了我能在这里找到的所有东西,但没有任何效果。所以最后我将.NET framework版本从4.0更改为4.5.2,问题消失了。

我通过添加对System.Web.WebPages 和 System.Web.WebPages.Razor 在具有自定义模板的项目中。我在这个项目中没有任何web.config。

我有同样的问题,问题出在具有这些行的 web.config(不是视图下的那个)中

<dependentAssembly>
    <assemblyIdentity name="System.Web.Razor" publicKeyToken="31bf3856ad364e35" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
  </dependentAssembly>

删除这些行后,问题消失了,智能感知再次开始为 Linq 表达式工作。

更新:

好的,卸载VS 2013后,错误又回来了。但是在安装这两个后它得到了修复MVC4 - https://www.microsoft.com/en-us/download/details.aspx?id=30683网页 2.0 - https://www.microsoft.com/en-us/download/details.aspx?id=34600

我认为它在安装网页 2.0 后已修复,但我也安装了 MVC4 以更安全

扩展方法仅在引用的命名空间中时才用作扩展方法。尝试添加:

@using System.Linq