System.Web.Http v5.0.0.0 sürümüne yükseltmek için bir NuGet paketini nerede bulabilirim?


125

Unity.WebApi sürüm 5.0.0.0'ı kullanmak için bir ASP.NET MVC4 projesini yükselttim ve aşağıdaki hataya göre System.Web.Http v 5.0.0.0 gerektiriyor:

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'   

Şu anda System.Web.Http v4.0'a başvuruyorum, ancak aşağıdaki NuGet paketleri ilgili en son sürümlerine yükseltilmiş:

  • ANTLRv3

  • Microsoft ASP.NET Evrensel Sağlayıcıları

  • Microsoft.Web.Infrastructure

  • Microsoft ASP.NET MVC

  • Microsoft ASP.NET Razor

  • Microsoft ASP.NET Evrensel Sağlayıcılar Çekirdek Kitaplıkları

  • Microsoft ASP.NET Evrensel Sağlayıcıları

  • Microsoft ASP.NET Web API 2 İstemcisi

  • Microsoft ASP.NET Web API 2 Çekirdeği

  • Microsoft ASP.NET Web API 2 Web Barındırıcısı

  • Microsoft ASP.NET Web API 2

  • Microsoft ASP.NET Web Sayfası

  • Microsoft.Web.Infrastructure

  • WebGrease

    NuGet aracılığıyla. Micrososft.jQuery.Unobtrusive Validation, vb. Gibi ilgili JavaScript kitaplıklarını listelemedim.

System.Web.Http'yi yükseltmek için NuGet paketi nedir veya bunu el ile yapmak zorunda mıyım?


NuGet Paket Yöneticisi'nde "Kararlı" yerine "Ön Sürüm Ekle" yi seçerseniz, System.Web.Http'yi görürsünüz. Aradığınız şey bu mu?
William

"Ön Sürüm Ekle" yi seçtikten sonra System.Web.Http'yi aramam mı gerekiyor? Ya da nereye bakmalıyım?
Klaus Nji

Yukarıdaki yorumumu dikkate almayın! Bu paket eski. Aşağıdaki Stjin'in önerisini takip etmeye çalışmalısınız. Gariptir ki, ben de Unity.WebApi yüklediğinizde benim MVC 4 projesi, bu Eminim sizin için çalışmama nedenini değilim bu yüzden, otomatik v5.0 için System.Web.Http referansı günceller. Her şey başarısız olursa, Unity paketini kaldırıp yeniden yüklemeyi deneyebilirsiniz.
William

Yanıtlar:


206

Microsoft.AspNet.WebApi.Core paketine ihtiyacınız var .

Bunu .csproj dosyasında görebilirsiniz:

<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>

Yukarıda listelendiği gibi v5.0.0.0'a yükseltilmiş Microsoft ASP.NET Web API 2 Core (id = Microsoft.AspNet.WebApi.Core) sahibim. Görünüşe göre onları kaldırıp yeniden eklemem gerekiyor mu?
Klaus Nji

7
Ayrıca bin_deployableAssemblies'i temizlemek, silmek ve yeniden oluşturmak zorundaydı.
Klaus Nji

Hemen hemen aynı projeye sahip olmak. Herkesin konuşmaya devam ettiği bin_deployable Assemblies klasörü nerede?
nzondlo

@nzondlo Bu klasörün bir uygulama yayınlanırken oluşturulduğuna inanıyorum. Yine de tam olarak emin değilim.
user247702

1
@nzondlo bin_deployableAssembliessadece normal bir klasördür, ancak projenizin dizininde bulunduğunda özel muamele görür. Bu klasördeki herhangi bir .dll dosyası, web uygulamanızı yayınladığınızda bin dizinine kopyalanır. NuGet genel kullanıma girmeden önce System.Web.Mvc dll'yi (ve diğerlerini) web uygulamanızla dağıtmak için kullanıldı.
Steven Liekens

9

Bir çözümde birkaç projem var. Bazı projeler için daha önce referansları manuel olarak ekledim. NuGet'i WebAPI paketini güncelleştirmek için kullandığımda, bu başvurular otomatik olarak güncellenmedi.

Bu referansı manuel olarak güncelleyebileceğimi ve böylece çözümümün Paketler klasöründeki v5 DLL dosyasını gösterebileceğimi veya aşağıdakileri yapabileceğimi öğrendim.

  1. "NuGet Paketlerini Yönet" e gidin
  2. Yüklü Paketi "Microsoft ASP.NET Web API 2.1" seçin
  3. Yönet'e tıklayın ve daha önce manuel olarak eklediğim projeleri kontrol edin.

Paketi kaldırmak ve ardından hemen yeniden yüklemek benim için düzelt. Proje farklı bir geliştirme makinesine getirilirken gerçekleşti. Otomatik paket geri yükleme, bir şekilde yanlış sürümü aldı.
Matt J.

1
Ana sorun, ana proje için Web.Api'yi güncellemektir, ancak başvurulan projeler hala onun eski sürümünü kullanıyor. Çözüm adı ve Nuget Paketlerini Yönet menüsüne sağ tıklanarak @Tony'de belirtildiği gibi birlikte güncellenmelidir. şerefe!
Orhaan

Install-Package Microsoft.AspNet.WebApi.Core
C Daha Keskin
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.