Проблемы с привязкой сборки при обновлении до. NET Framework 4.8 - PullRequest
0 голосов
/ 29 мая 2020

Мне нужно обновить мой проект WebApi2 с 4.7.1 до 4.8, поэтому я сделал следующее:

  • Изменил Target Framework на 4.8 на вкладке «Свойства»
  • Изменено ' targetFramework = "net471" 'to' "targetFramework = net48" 'в packages.config
  • Удалил папки bin и obj, а затем сделал nuget restore
  • Проверено, что все указанные файлы в References\Assemblies укажите на SDK v4.8 папку
  • Перестроил решение

Затем я изменил следующее в web.config:

<system.web>
  <compilation debug="true" targetFramework="4.8"/>
  <httpRuntime targetFramework="4.8"/>
</system.web>

Однако я получить исключение при запуске проекта:

Не удалось загрузить файл или сборку 'System. Net .Http, Version = 4.0.0.0, Culture = нейтральный, PublicKeyToken = b03f5f7f11d50a3a' или один из его зависимости. Система не может найти указанный файл. Описание: необработанное исключение произошло во время выполнения текущего веб-запроса. Просмотрите трассировку стека для получения дополнительной информации об ошибке и ее происхождении в коде.

Сведения об исключении: System.IO.FileNotFoundException: не удалось загрузить файл или сборку 'System. Net .Http, Version = 4.0.0.0, культура = нейтральная, PublicKeyToken = b03f5f7f11d50a3a 'или одна из его зависимостей. Система не может найти указанный файл.

Соответствующий раздел в web.config:

  <dependentAssembly>
    <assemblyIdentity name="System.Net.Http" publicKeyToken="B03F5F7F11D50A3A" culture="neutral"/>
    <bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0"/>
  </dependentAssembly>

Проект является частью более крупного решения и ссылается на проекты, предназначенные для netstandard2.0. Однако это не проблема, потому что все работало при использовании 4.7.1

Где / что еще мне нужно проверить / изменить, чтобы запустить проект с использованием v4.8?

1 Ответ

0 голосов
/ 29 мая 2020

Следуя шагам, указанным в комментарии @Igor, укажите ссылку Не удалось загрузить файл или сборку «System. Net .Http, Version = 4.0.0.0, Culture = нейтральный, PublicKeyToken = b03f5f7f11d50a3a» решает проблему.

Однозначно лучшее решение.

...