Метод расширения HttpClient и ReadAsAsync <T>()

Итак, я запускаю новый проект .Net 4.0 и буду работать с публичным API. Я планирую использовать класс Microsoft HttpClient, поэтому я установил последнюю стабильную версию пакета Microsoft.Net.Http NuGet (версия 2.2.13). Я смотрю на какой-то код POC, который собрал коллега, также используя пакет NuGet для HttpClient и замечаем, что код такой:

HttpClient client = new HttpClient();
HttpResponseMessage response = client.GetAync("/uri").Result;

DomainType result = response.Content.ReadAsAsync<DomainType>().Result;

В моем проекте после добавления ссылки на пакет Microsoft.Net.Http, когда я пытаюсь написать похожий код, я заметил, что HttpResponseMessage не имеет метода ReadAsAsync<T>(). После некоторого копания в решении POC моего коллеги, похоже, что ReadAsAsync<T>() - это метод расширения в сборке System.Net.Http.Formatting. В этом решении POC есть ссылка на System.Net.Http.Formatting, однако он вытаскивает этот файл с пути C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 4\Assemblies\System.Net.Http.Formatting.dll.

Мой вопрос: есть ли лучшее решение для получения доступа к этому методу расширения, чем ссылка на эту сборку из моей локальной установки ASP.Net? Я обеспокоен тем, что это вызовет проблему на нашем CI-сервере, поскольку он вряд ли установит ASP.Net. Наверное, я могу скопировать System.Net.Http.Formatting в каталог Lib в моем решении, но я надеюсь, что там будет лучший вариант, такой как другой пакет NuGet, который у меня отсутствует, что даст мне эту сборку.

Спасибо!

Ответы

Ответ 1

Эта часть пакета клиентских библиотек WebAPI. Установите пакет nuet для Microsoft.AspNet.WebApi.Client.