Visual Studio не показывает расширения Linq в моих представлениях Asp.net MVC
Это сбивает меня с толку, и я не могу заставить Visual Studio 2010 распознавать методы расширения System.Linq в коде представления. Intellisense не работает, а Visual Studio выделяет нераспознанные методы расширения красным цветом.
Это наиболее важные части web.config, которые, я думаю, связаны с Visual Studio для распознавания методов расширения System.Linq. Закомментированные строки могут быть без комментариев, но нет никакой разницы.
<compilation debug="true" batch="true">
<assemblies>
<!--
<add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
<add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
-->
<add assembly="System.Web.Abstractions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<add assembly="System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
</assemblies>
</compilation>
<pages enableViewState="false">
<namespaces>
<add namespace="System.Collections.Generic"/>
<add namespace="System.Linq"/>
<add namespace="System.Web.Mvc"/>
<add namespace="System.Web.Mvc.Html"/>
<add namespace="System.Web.Routing"/>
<add namespace="MyApp.Objects"/>
<add namespace="MyApp.Web.General"/>
<add namespace="MyApp.Web.Helpers"/>
</namespaces>
</pages>
У меня есть частичное определение вида, которое выглядит следующим образом. То же самое закомментировал две строки. Без комментариев нет никакой разницы:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<IList<ToolbarItem>>" %>
<%--
<%@ Assembly Name="System.Core" %>
<%@ Import Namespace="System.Linq" %>
--%>
<%
if (!this.Model.Any(ti => ti is ToolbarText && (ti as ToolbarText).MaximizeWidth))
{
this.Model.Add(new ToolbarText { MaximizeWidth = true });
}
%>
В этом частичном представленииAny()
метод расширения не распознается, даже если он определен вSystem.Core
сборка подSystem.Linq
Пространство имен.
Какие настройки конфига мне не хватает? Кажется, что Visual Studio не может видетьSystem.Core
сборка, чтобы перечислить его методы расширения вSystem.Linq
Пространство имен.