Компилятор ASP.NET жалуется на несоответствие версий фреймворков с помощью MiniProfiler
У меня есть проект MVC3, который я обновил с VS2010 до VS2012. Проект также имеет ссылку на MiniProfiler
. Наше приложение компилируется и отлично работает в VS2012 без каких-либо предупреждений/ошибок. Обе сборки сильно нагружены при работе с IIS Express. Однако при использовании инструмента компилятора ASP.NET появляется следующее предупреждение:
Microsoft (R) Инструмент компиляции ASP.NET 4.0.30319.17929 Утилита для предварительной компиляции приложения ASP.NET Copyright (C) Microsoft Корпорация. Все права защищены.
(0): предупреждение: следующая сборка имеет зависимости от версии .NET Framework, которая выше цели и может не загружаться правильно во время выполнения, приводя к сбою: MiniProfiler, Версия = 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 (как и наше приложение). Что может вызвать это предупреждение?
Ответы
Ответ 1
Наконец, я смог исправить это с помощью чата от этого ответа. Я добавил следующую строку <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>
Ответ 2
Вы изменили targetFramework внутри Web.confing?