Служба приложения Azure - не удалось загрузить файл или сборку 'System.Net.Http, версия = 4.2.0.0, культура = нейтральная, PublicKeyToken = b03f5f7f11d50a3a' - PullRequest
0 голосов
/ 05 октября 2018

Получение

Не удалось загрузить файл или сборку 'System.Net.Http, версия = 4.2.0.0, культура = нейтральная, PublicKeyToken = b03f5f7f11d50a3a' или одна из ее зависимостей.Системе не удается найти указанный файл. "Исключение после публикации в Azure в качестве службы приложений.

Я создал приложение ASP.NET Wep API с использованием Entity Framework DB First. Я не использовал никакихПакет NuGet для установки System.Net.Http, он был добавлен автоматически при создании проекта. Последняя версия 4.2.0.0.

Он отлично работает, когда я работаю на локальном IIS (IIS Express).

Я успешно опубликовал это приложение в качестве службы приложений Azure, но оно не открывает домашнюю страницу API. Вместо этого я получил вышеупомянутое исключение.

Я попытался использовать bindingRedirect в Web.config, но это не такне помогает.

Я новичок в Azure и не уверен, как развернуты dll. Любая помощь очень ценится.

Ответы [ 2 ]

0 голосов
/ 05 октября 2018

Я думаю, что нашел причину проблемы.Мой проект использует .Net Framework версии 4.7.2, а в Azure служба приложений использует .Net Framework версии 4.7.Поэтому изменение целевой структуры в свойствах моего проекта на 4.7, похоже, работает.

0 голосов
/ 05 октября 2018

Модернизированный проект до 4.7.2.

Оказывается, Visual Studio 2017 при установке пакета .NET 4.3.3 Nuget для System.Net.HTTP также добавляет ссылку на DLL из GAC.Это в сочетании с перенаправлением сборки вызывает время выполнения System.IO.FileNotFoundException при поиске версии 4.2.0.0 System.Net.Http.

Хорошей новостью является добавление ссылок, снимите флажок System.Net.Httpиз GAC (который был добавлен автоматически или другими разработчиками в проект в определенный момент времени) и просто удалите перенаправление сборки.

Для получения дополнительной информации вы можете обратиться к этому статья .

...