C# 带有RazorEngine的Linq命名空间
我试图使用C# 带有RazorEngine的Linq命名空间,c#,linq,razorengine,C#,Linq,Razorengine,我试图使用LINQ扩展方法在razor视图中查询一些强类型的集合,由RazorEngine提供支持。问题是,它不能识别System.Linq名称空间@使用System.Linq会在Intellisense中生成错误: 名称空间中不存在类型或名称空间Linq(是吗 缺少程序集引用) 我正在寻找一种不安装网页或MVC软件包的解决方案 我已经尝试过的事情(从这里相关问题的其他答案): 正在将RazorEngine.dll移动到bin 将添加到app.config 将添加到app.config 这
LINQ
扩展方法在razor视图中查询一些强类型的集合,由RazorEngine提供支持。问题是,它不能识别System.Linq
名称空间@使用System.Linq会在Intellisense中生成错误:
名称空间中不存在类型或名称空间Linq(是吗
缺少程序集引用)
我正在寻找一种不安装网页
或MVC
软件包的解决方案
我已经尝试过的事情(从这里相关问题的其他答案):
- 正在将RazorEngine.dll移动到bin
- 将
添加到app.config
- 将
添加到app.config
这些措施中的每一项都解决了一些问题:最初Intellisense根本不起作用,现在它可以识别以下系统子名称空间:
代码域、集合、组件模型、配置、数据,
部署、诊断、提取、企业服务、全球化、,
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>
@使用RazorEngine.Template
@使用System.Linq
@使用Namespace.Of.My.Models
@继承TemplateBase
专栏1
专栏2
@foreach(Model.Children中的var项)
{
@item.ListOfThings.First()
}
只需将system.core.dll
复制到项目的bin目录中即可
在过去,我也发现有必要使用bin
作为我的构建目录,而不是bin\debug
,但这似乎不再是必要的。请从您的视图中发布代码。我有使用Linq的强类型视图,没有问题,因此需要查看您的代码才能知道它为什么不工作。@codeMonkey添加了一个代码段!非常感谢。我用的是MVC,所以也许这就是区别。您签出了吗?确保项目的生成目录只是bin/(不是默认的bin/debug/),并将system.core.dll复制到bin目录。@codeMonkey谢谢!我假设使用MVC包括VS识别命令所必需的包?显然,将MVC添加到项目中解决了这个问题,但我一直在寻找一种在不增加解决方案的情况下解决这个问题的方法。