Не удалось загрузить файл или сборку «System.Net.Http.Formatting» или одну из его зависимостей. Система не может найти указанный путь

У меня есть небольшое приложение MVC, которое я использую по практическим соображениям, но теперь я каждый раз сталкиваюсь с ошибкой при попытке отладки:

Could not load file or assembly 'System.Net.Http.Formatting' or one of its dependencies. The system cannot find the path specified. 

Я googled, но не могу найти решение. Я использую .NET 4.5.

Это не может быть DLL-файл, потому что я использую .Net 4.5.

Всякий раз, когда у меня есть ошибка NuGet, такая как я, я обычно делаю следующие шаги:

  1. Перейдите в папку пакетов в проводнике Windows и удалите ее.
  2. Откройте Visual Studio и откройте « Инструменты» > « Диспетчер пакетов библиотек» > « Параметры диспетчера пакетов» и в разделе «Менеджер пакетов» в левой части появится кнопка «Очистить кеш-файл». Нажмите эту кнопку и убедитесь, что установлен флажок «Разрешить NuGet для загрузки отсутствующих пакетов во время сборки».
  3. Очистить раствор
  4. Затем щелкните правой кнопкой мыши решение в обозревателе решений и включите восстановление пакета NuGet
  5. Построить решение

Взятие всех этих шагов почти всегда восстанавливает все пакеты и dll, которые мне нужны для моей программы MVC.


ИЗМЕНИТЬ >>>

Для Visual Studio 2013 и выше, шаг 2) следует читать:

  1. Откройте Visual Studio и откройте « Инструменты» > « Параметры» > « Диспетчер пакетов NuGet», а с правой стороны появится кнопка «Очистить кеш-файл». Нажмите эту кнопку и убедитесь, что флажки «Разрешить NuGet для загрузки отсутствующих пакетов» и «Автоматическая проверка отсутствующих пакетов во время сборки в Visual Studio» проверяются.
  • Удалите все ссылки на код System.Net.*

  • в окне пакета,

    Install-Package Microsoft.AspNet.WebApi.Client

  • Очистите и перестройте свой проект

Я нашел дополнительный

      

в моем web.config. удалил это, чтобы заставить его работать. другой пакет, который я установил, а затем удалил причину проблемы.

Удаление следующих строк из web.config решило мою проблему. Обратите внимание, что в этом проекте я не использовал компоненты WebApi. Поэтому для других это решение может работать не так, как ожидалось.

      

user3919888 указал мне в правильном направлении, но мне нужно было запустить Update-Package -reinstall Microsoft.AspNet.WebApi.Client в консоли Package-Manager. Базовая установка сама по себе не распознает проблему, но распознает, что пакет уже установлен и не перезаписывает его.

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

  1. Удалите все ссылки на код System.Net. *
  2. Удалить: пакет Microsoft.AspNet.WebApi и его зависимый.
  3. Переустановите все: пакет Microsoft.AspNet.WebApi и его зависимый.
  4. Очистите и перестройте свой проект

Как первоначально было предложено в комментарии GeoMac и документировано в документах NuGet, для меня работали, когда ни один из других ответов не работал:

Инструменты / Диспетчер пакетов NuGet / Консоль диспетчера пакетов

 Update-Package -ProjectName MyProjectName -reinstall 

В моем случае ни один из вышеперечисленных решений не работал. Я решил, щелкнув правой кнопкой мыши ссылку

System.Net.Http.Formatting

из Visual studio и установки свойства Copy Local в true .

Надеюсь, это так или иначе полезно.

Для меня это было так просто, как

  1. Удалить Microsoft.AspNet.WebApi.Client из папки пакетов в проводнике Windows
  2. Откройте Инструменты> Диспетчер пакетов NuGet> Консоль диспетчера пакетов
  3. Нажмите кнопку «Восстановить»

То, что решило эту неприятную ошибку для меня, было просто закрыть Visual Studio и снова открыть ее. Затем перестройте решение, и все это сработало снова. Извините за ответ дерьмо, но я думаю, что это стоит ответа, потому что он решил это для меня.

Возможно, вам нужно установить ссылку на библиотеку как «Скопировать локально = True» в диалоговом окне свойств. На визуальной студии нажмите «ссылки», затем щелкните правой кнопкой мыши по отсутствующей ссылке, в свойствах щелчка контекстного меню вы увидите локальную настройку копирования.

В моем случае ни одно из вышеперечисленных действий, однако, заменив 5.2.3.0 на 4.0.0.0, действительно решило проблему.

Для меня добавление нескольких строк ниже в WebApi.config работает, так как после обновления новый пакет nuget не работает

 var setting = config.Formatters.JsonFormatter.SerializerSettings; setting.ContractResolver = new CamelCasePropertyNamesContractResolver(); setting.Formatting = Formatting.Indented; 

Не забудьте добавить пространство имен:

 using Newtonsoft.Json.Serialization; using Newtonsoft.Json; 

Я столкнулся с той же проблемой, потому что

System.Net.Http.Formatting

версия, написанная внутри webconfig, была 5.0.3, но внутри папки bin библиотека System.Net.Http.Formatting dll была 4.0.2

поэтому я просто заменил то же, что и внутри корзины

введите описание изображения здесь

введите описание изображения здесь

просто сделайте этот чистый проект и постройте

  • Изучение принципа единой ответственности с помощью C #
  • Сериализация типа Json.Net с полиморфным дочерним объектом
  • Как получить доступ к определенному элементу в списке с помощью DataTemplate?
  • Есть ли онлайн-деманджер для C ++?
  • Измерение времени выполнения функции в C ++
  • C ++ Winsock P2P
  • Почему «! =» Используется с iteratorами вместо «<»?
  • Как бесплатно знать, сколько бесплатно?
  • Способ иметь String.Replace только ударить "целые слова"
  • Тип Interop не может быть встроен
  • Для чего нужен JsonRequestBehavior?
  • Interesting Posts
    Давайте будем гением компьютера.