带有 RazorEngine 的 Linq 命名空间

Linq namespace with RazorEngine

我正在尝试使用 LINQ 扩展方法在由 RazorEngine 提供支持的 razor 视图中查询一些 类型的集合。问题是,它不识别 System.Linq 命名空间; @using System.Linq 在 Intellisense 中生成错误:

the type or namespace Linq does not exist in the namespace (are you missing an assembly reference )

我正在寻找不安装 WebPagesMVC 软件包的解决方案。


我已经尝试过的事情(来自这里相关问题的其他答案):

这些措施中的每一个都解决了一些问题:最初 Intellisense 根本不起作用,现在它可以识别以下 System 个子命名空间:

CodeDom, Collections, ComponentModel, Configuration, Data,
Deployment, Diagnostics, Drawning, EnterpriseServices, Globalization, IO, Media, Net, Reflection, Resourcers, Runtime, Security, Text,
Threading, Timers, Web, Windows, Xml


我的观点片段:

@using RazorEngine.Template
@using System.Linq <!--namespace doesn't exist in System-->
@using Namespace.Of.My.Models
@inherits TemplateBase<ThisPageModel>

<table class="my-table-class">
    <thead>
        <tr>
            <th>Column1</th>
        </tr>
        <tr>
            <th>Column2</th>
        </tr>
    </thead>
    <tbody>
        @foreach(var item in Model.Children)
        {
            <tr>
                <td>                    
                    @item.ListOfThings.First() <!--List<Things> does not contains a definition for First-->                     
                </td>
            </tr>
        }
    </tbody>
</table>

直接复制system.core.dll到你项目的bin目录下即可。

过去我也发现有必要使用 bin 作为我的构建目录而不是 bin\debug 但这似乎不再需要了。