Bagaimana cara mendapatkan 'System.Web.Http, Versi = 5.2.3.0?

89

Saya baru saja membuat proyek MVC5 dan menambahkan beberapa paket dari nuget, tetapi kemudian ketika saya mengkompilasi proyek, saya mendapat kesalahan ini. Tampaknya salah satu paket sangat bergantung pada system.web.http versi 5.2.3.0, yang tidak dapat saya temukan di mana pun. Saya hanya ingin tahu bagaimana cara mendapatkan versi terbaru dari system.web.http?

Kesalahan 2 Majelis 'System.Web.Http.WebHost, Versi = 5.2.3.0, Budaya = netral, PublicKeyToken = 31bf3856ad364e35' menggunakan 'System.Web.Http, Versi = 5.2.3.0, Budaya = netral, PublicKeyToken = 31bf3856ad364e35' yang memiliki versi yang lebih tinggi dari rakitan yang direferensikan 'System.Web.Http, Versi = 5.0.0.0, Budaya = netral, PublicKeyToken = 31bf3856ad364e35' 
d: \ Backup 2014-12-25 \ Website-Projects \ www.ptsol.com.au \ packages \ Microsoft.AspNet.WebApi.WebHost.5.2.3 \ lib \ net45 \ System.Web.Http.WebHost.dll
John Hadikusumo
sumber

Jawaban:

118

Di Konsol Pengelola Paket

Install-Package Microsoft.AspNet.WebApi.Core -version 5.2.3

Roman Patutin
sumber
Saya melakukannya tetapi masih memberi saya kesalahan yang sama <br/> <pre> PM> install-package microsoft.aspnet.webapi.core -version 5.2.3 Mencoba menyelesaikan ketergantungan 'Microsoft.AspNet.WebApi.Client (≥ 5.2.3 ) '. Mencoba menyelesaikan ketergantungan 'Newtonsoft.Json (≥ 6.0.4)'. 'Microsoft.AspNet.WebApi.Core 5.2.3' sudah diinstal. www.ptsol.com.au sudah memiliki referensi ke 'Microsoft.AspNet.WebApi.Core 5.2.3'. </pre>
John Hadikusumo
4
@JohnHadikusumo melakukan ini untuk semua proyek Anda. Tampaknya Anda memiliki proyek yang bergantung dengan versi yang lebih lama.
Rap
Ya, ini akan berhasil. Bacalah dengan cermat Web.config dan packages.config Anda sebelum dan sesudah Anda menjalankan perintah ini dan Anda akan melihat apa yang berubah.
AlfredBr
Memecahkan masalah saya.
Phon Soyang
Saya harus menggunakan Install-Package Microsoft.AspNet.WebApi.Client -Version 5.2.7sebagai gantinya (.Client bukan .Core). Saya sudah memiliki. Inti 5.2.7, tetapi saya masih mendapatkan kesalahan. nuget.org/packages/Microsoft.AspNet.WebApi.Client
user224567893
19

Salah satu cara untuk memperbaikinya adalah dengan memodifikasi assembly redirect di file web.config.

Ubah yang berikut ini:

<dependentAssembly>
        <assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="31bf3856ad364e35" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
</dependentAssembly>

untuk

<dependentAssembly>
        <assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="31bf3856ad364e35" culture="neutral" />
        <bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="4.0.0.0" />
</dependentAssembly>

Jadi atribut oldVersion harus berubah dari "...- 4.0.0.0" menjadi "...- 5.2.3.0".

Bracher
sumber
Ini berhasil untuk saya. Kami memiliki bindingRedirectpenyiapan <bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />tetapi mengubahnya untuk digunakan 4.0.0.0. Masih tidak masuk akal bagi saya, karena harus menggunakan DLL paket NuGet dan bukan versi GAC, tapi hei, berhasil ... jadi terima kasih!
jamiebarrow
8

Saya melakukannya Install-Package Microsoft.AspNet.WebApi.Core -version 5.2.3tetapi tetap tidak berhasil. Kemudian lihat di folder bin proyek saya dan lihat bahwa itu masih memiliki file System.Web.Mvc yang lama.

Jadi saya menyalin file yang lebih baru secara manual dari paket ke folder bin. Kemudian saya bangun dan berlari lagi.

Bob Koury
sumber
7

Instal-Paket Microsoft.AspNet.WebApi.Core -version 5.2.3

Kemudian di proyek Add Reference -> Browse. Tekan tombol browse dan pergi ke C: \ Users \ UserName \ Documents \ Visual Studio 2015 \ Projects \ ProjectName \ packages \ Microsoft.AspNet.Mvc.5.2.3 \ lib \ net45 dan tambahkan file .dll yang diperlukan

Vitali Siamenau
sumber
7

Paket-paket yang Anda instal memperkenalkan dependensi ke versi 5.2.3.0 dll seperti yang ditunjukkan oleh pengguna Bracher di atas. Microsoft.AspNet.WebApi.Cors adalah contoh paket. Jalur yang saya ambil adalah memperbarui proir proyek MVC ke semua paket penginstalan:

Install-Package Microsoft.AspNet.Mvc -Version 5.2.3

https://www.nuget.org/packages/microsoft.aspnet.mvc

Doug Wiley
sumber
3

Menghapus instalasi dan menginstal ulang paket NuGet berhasil untuk saya.

  1. Hapus referensi lama apa pun dari proyek.

Jalankan ini di Package Manager Console:

  1. UnInstall-Package Microsoft.AspNet.WebApi.Core -version 5.2.3
  2. Install-Package Microsoft.AspNet.WebApi.Core -version 5.2.3
Ram Kishore K
sumber
Hanya yang ini yang memecahkan masalah saya. Saya telah melakukan banyak hal dan win-action sangat sederhana.
George Lanetz