我正在尝试使用LINQ
扩展方法在RazorEngine支持的剃刀视图中查询某些 strong 类型化的集合。问题是,它无法识别System.Linq
命名空间。 @using System.Linq
在Intellisense中产生错误:
类型或名称空间Linq在名称空间中不存在(您是 缺少程序集引用)
我正在寻找不安装WebPages
或MVC
软件包的解决方案。
我已经尝试过的东西(来自其他有关此处相关问题的答案):
<add key="webpages:Version" value="3.0.0.0" />
添加到app.config <system.web><compilation debug="false" targetFramework="4.5.2" /></system.web>
添加到app.config 每种方法都解决了一些问题:最初Intellisense根本不起作用,现在它可以识别以下System
子命名空间:
CodeDom,集合,ComponentModel,配置,数据,
部署,诊断,绘图,EnterpriseServices,全球化, IO,媒体,网络,反射,资源管理器,运行时,安全性,文本,
线程,计时器,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>
答案 0 :(得分:2)
只需将system.core.dll
复制到项目的bin目录。
过去,我还发现有必要使用bin
作为我的构建目录而不是bin\debug
,但这似乎不再是必需的。