带有 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 )
我正在寻找不安装 WebPages
或 MVC
软件包的解决方案。
我已经尝试过的事情(来自这里相关问题的其他答案):
- 移动 RazorEngine.dll 到 bin
- 将
<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, 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
但这似乎不再需要了。
我正在尝试使用 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 )
我正在寻找不安装 WebPages
或 MVC
软件包的解决方案。
我已经尝试过的事情(来自这里相关问题的其他答案):
- 移动 RazorEngine.dll 到 bin
- 将
<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, 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
但这似乎不再需要了。