2013-04-12 4 views
20

У меня есть проект MVC3, который я обновил с VS2010 до VS2012. Проект также имеет ссылку на MiniProfiler. Наше приложение компилируется и отлично работает в VS2012 без каких-либо предупреждений/ошибок. Обе сборки сильно нагружены при работе с IIS Express. При использовании инструмента ASP.NET компилятора, однако, я получаю следующее предупреждение:ASP.NET компилятор, жалующийся на несоответствие версий фреймворков с MiniProfiler

Microsoft (R) версия ASP.NET Компиляция Tool 4.0.30319.17929 Утилита прекомпилировать прикладную ASP.NET (C) Microsoft Корпорация. Все права защищены.

(0): Предупреждение: Следующая сборка имеет зависимости от версии в .NET Framework, которая выше, чем цели, и, возможно, не загружать правильно во время выполнения вызывает сбой: MiniProfiler, Version = 2.1.0.0 , Культура = нейтральная, PublicKeyToken = b44f9351044011a3. Зависимости : System.Data.Linq, Version = 4.0.0.0, Culture = neutral, PublicKeyToken = b77a5c561934e089. Вы должны либо убедиться, что зависимая сборка является правильной для целевой структуры, либо убедитесь, что адресная структура, к которой вы обращаетесь, соответствует , является зависимой сборкой .

У нас нет явной ссылки на System.Data.Linq. До обновления до VS2012 у нас не было никаких ошибок. Версия MiniProfiler действительно предназначена для .NET 4.0 (как и наше приложение). Что может вызвать это предупреждение?

+0

Я имел взгляд на установках, и я не вижу ничего плохого, очевидно, что может привести к это ... –

+0

@MarcGravell - Так что это действительно странно заключается в том, что если я создаю новый проект и использую тот же подход выше, он будет работать нормально ... :( – TheCloudlessSky

+0

Может ли проверить каталоги bin для любых фанк-библиотек, которые могли бы там оказаться? Также создайте резервную копию своей папки obj, а затем удалите это из проекта, который я нахожу, что помогает со всеми видами странностей: o) – bUKaneer

ответ

14

Я, наконец, смог исправить это с помощью наконечника от this answer. Я добавил следующую <add> строки в web.config:

<configuration> 
    <system.web> 
    <compilation debug="true" targetFramework="4.0"> 
     <assemblies> 
     <!-- etc... --> 
     <add assembly="System.Data.Linq, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> 
     <!-- etc... --> 
     </assemblies> 
    </compilation> 
    <system.web> 
</configuration> 
1

Вы изменили targetFramework внутри Web.confing?

+0

Он уже установлен в 4.0: 'targetFramework =" 4.0 "' – TheCloudlessSky