Де можна знайти пакет NuGet для оновлення до System.Web.Http v5.0.0.0?


125

Щойно оновлено проект ASP.NET MVC4 для використання Unity.WebApi версії 5.0.0.0, і для цього потрібна System.Web.Http v 5.0.0.0 відповідно до наступної помилки:

Assembly 'Unity.WebApi, Version=5.1.0.0, Culture=neutral, PublicKeyToken=43da31bc42a85347' uses 'System.Web.Http, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' which has a higher version than referenced assembly 'System.Web.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'   

На даний момент я посилаюся на System.Web.Http v4.0, але перелічено наступні пакети NuGet, оновлені до відповідних останніх версій:

  • ANTLRv3

  • Універсальні постачальники Microsoft ASP.NET

  • Інфраструктура Microsoft.Web.Infrastructure

  • Microsoft ASP.NET MVC

  • Microsoft ASP.NET Razor

  • Основні бібліотеки постачальників послуг Microsoft ASP.NET Universal Providers

  • Універсальні постачальники Microsoft ASP.NET

  • Клієнт Microsoft ASP.NET Web API 2

  • Веб API API Microsoft ASP.NET 2

  • Веб-хост Microsoft ASP.NET Web API 2

  • Веб-API Microsoft ASP.NET 2

  • Веб-сторінка Microsoft ASP.NET

  • Інфраструктура Microsoft.Web.Infrastructure

  • WebGrease

    через NuGet. Я не перераховував відповідні бібліотеки JavaScript, такі як Micrososft.jQuery.Unobtrusive Validation тощо.

Що таке пакет NuGet для оновлення System.Web.Http чи мені це потрібно зробити вручну?


Якщо ви вибрали "Включити попередню звільнення" замість "Стабільного" в Менеджері пакетів NuGet, ви побачите System.Web.Http. Це те, що ви шукаєте?
Вільям

чи повинен я шукати System.Web.Http після вибору "Включити попередній випуск"? Або куди мені шукати?
Klaus Nji

Нехтуйте моїм вище коментарем! Цей пакет застарів. Спробуйте дотримуватися пропозиції Стігіна нижче. Як не дивно, коли я встановлюю Unity.WebApi у своєму проекті MVC 4, він оновлює посилання System.Web.Http на v5.0 автоматично, тому я не впевнений, чому він не працює для вас. Якщо все інше не вдасться, ви можете спробувати видалити пакет Unity та перевстановити його.
Вільям

Відповіді:


206

Вам потрібен пакет Microsoft.AspNet.WebApi.Core .

Ви можете побачити його у файлі .csproj:

<Reference Include="System.Web.Http, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
  <SpecificVersion>False</SpecificVersion>
  <HintPath>..\packages\Microsoft.AspNet.WebApi.Core.5.0.0\lib\net45\System.Web.Http.dll</HintPath>
</Reference>

У мене є Microsoft ASP.NET Web API 2 Core (id = Microsoft.AspNet.WebApi.Core), оновлений до v5.0.0.0, як зазначено вище. Схоже, мені потрібно видалити та повторно додати їх?
Klaus Nji

7
Довелося також очистити, видалити bin_deployableAssemblies та відновити.
Klaus Nji

Маючи майже той самий проект. Де папка bin_deployable Assemblies, про яку всі продовжують говорити?
nzondlo

@nzondlo Я вважаю, що папка створюється під час публікації програми. Не зовсім впевнений, хоча.
user247702

1
@nzondlo bin_deployableAssemblies- це лише звичайна папка, але вона отримує спеціальну обробку, коли вона існує в каталозі вашого проекту. Будь-який .dll файл у цій папці копіюється у каталог бін під час публікації веб-програми. Він використовувався для розгортання dll System.Web.Mvc (та інших) із вашим веб-додатком до того, як NuGet став основним.
Стівен Лікенс

9

У мене є кілька проектів у вирішенні. Для деяких проектів я раніше додавав посилання вручну. Коли я використовував NuGet для оновлення пакету WebAPI, ці посилання не оновлювалися автоматично.

Я з’ясував, що я можу або оновити ці посилання вручну, щоб вони вказували на DLL v5 в папці «Пакети» мого рішення, або робити наступне.

  1. Перейдіть до "Керування пакетами NuGet"
  2. Виберіть встановлений пакет "Microsoft ASP.NET Web API 2.1"
  3. Клацніть Управління та перевірте проекти, які я вручну додавав раніше.

Видалення пакета, а потім негайно встановлення його виправити для мене. Сталося, коли проект розроблявся на іншій розроблювальній машині. Автоматичне відновлення пакета якось отримало неправильну версію.
Метт Дж.

1
Головною проблемою є оновлення Web.Api для головного проекту, але посилання на проекти все ще використовують старішу версію. Його слід оновити разом, клацнувши правою кнопкою миші назву рішення та керувати меню Nuget Packages, як було зазначено @Tony. ура!
Орхаан

Install-Package Microsoft.AspNet.WebApi.Core
C Sharper
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.