Я царапал свою голову, казалось бы, целую вечность. Я уверен, что это действительно легко исправить, но я не вижу этого.
У меня есть класс в App_Code, который использует немного Linq.
var siteMap = SiteMapWrapper.BuildSiteMap(true);
var currentTopLevelParent = siteMap.Single(s => s.IsActive);
if (currentTopLevelParent != null)
Я разработал это локально, и все работает отлично. При переходе на IIS хостинг тот же класс не компилируется. Я получаю:
does not contain a definition for 'Single' and no extension method 'Single'
accepting a first argument of type 'SiteMapWrapper' could be found (are you
missing a using directive or an assembly reference?)
Я подтвердил, что виртуальный каталог работает .NET 2.0, как и должно. Я также подтвердил, что в web.config загружаются правильные сборки.
<compilation debug="true">
<assemblies>
<add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
<add assembly="System.Data.DataSetExtensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
</assemblies>
</compilation>
Я также пытался добавить директивы пространств имен в web.config, но безуспешно. Кто-нибудь может придумать что-нибудь еще, чтобы попробовать?
Большое спасибо.