Подтвердить что ты не робот

Компилятор 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 (как и наше приложение). Что может вызвать это предупреждение?

4b9b3361

Ответ 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?