Aku punya kecil MVC aplikasi yang saya gunakan untuk latihan alasan, tapi sekarang saya mengalami error setiap kali saya mencoba untuk men-debug:
Could not load file or assembly 'System.Net.Http.Formatting' or one of its dependencies.
The system cannot find the path specified.
I've mencari di google tapi tidak menemukan solusi. I'm menggunakan .NET 4.5.
Hal ini dapat't menjadi file DLL karena saya'm menggunakan .Net 4.5.
Setiap kali saya memiliki NuGet kesalahan seperti ini saya biasanya mengambil langkah-langkah ini:
Mengambil semua langkah ini hampir selalu mengembalikan semua paket dan dll's yang saya butuhkan untuk saya MVC program.
EDIT >>>
Untuk Visual Studio 2013 dan di atas, langkah 2) harus dibaca:
Hapus semua kode referensi ke System.Net.*
dalam paket jendela,
Install-Paket Microsoft.AspNet.WebApi.Klien
Saya menemukan tambahan
<dependentAssembly>
<assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-2.2.28.0" newVersion="2.2.28.0" />
</dependentAssembly>
di web saya.config. dihapus bahwa untuk mendapatkan itu untuk bekerja. beberapa paket lain saya diinstal, dan kemudian dihapus menyebabkan masalah.
user3919888 menunjuk saya dalam arah yang benar, tapi aku yang dibutuhkan untuk menjalankan Update-Paket -instal ulang Microsoft.AspNet.WebApi.Klien
dalam Package Manager console. Dasar menginstal dengan sendirinya tidak mengenali masalah tetapi tidak mengenali bahwa paket tersebut sudah terinstal dan tidak menimpa itu.
I'm postingan ini menjawab karena hal ini terjadi begitu jarang yang akhirnya saya googling dan mencapai halaman ini sebelum saya ingat apa yang saya lakukan terakhir kali.
Menghapus baris berikut dari web.config` memecahkan masalah saya. Perhatikan bahwa dalam proyek ini saya didn't menggunakan WebApi komponen. Jadi untuk orang lain solusi ini mungkin tidak bekerja seperti yang diharapkan.
<dependentAssembly>
<assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
</dependentAssembly>
System.Net.*
Microsoft.AspNet.WebApi
dan dependensi.Microsoft.AspNet.WebApi
dan dependensi. Untuk orang-orang yang menggunakan .NET Standar proyek dalam kombinasi dengan .NET Framework proyek:
Di .NET cara Standar, paket-paket yang disertakan dalam .NET Standar proyek dengan benar akan dapat digunakan di lain .NET Inti dan .NET Standar proyek.
Im .NET Framework way, jika anda mengacu pada .NET proyek Standar dari sebuah .NET Framework (MVC) proyek, anda perlu untuk secara manual men-download dan menginstal paket nuget yang sama.
Jadi jawaban untuk pertanyaan saya adalah bahwa saya harus men-download dan menginstal Microsoft.AspNet.WebApi.Klien
dalam proyek web (.NET Framework) yang menggunakan .NET Standar proyek di mana Microsoft.AspNet.WebApi.Klien
yang dibutuhkan. Bahkan, saya sudah terpasang tapi ada perbedaan versi.
Saya hanya menambahkan jawaban ini bagi orang lain untuk melihat, mungkin tidak langsung menjawab OP's pertanyaan tapi itu tidak menyelamatkan saya waktu dengan terlebih dahulu memeriksa ini bukannya melakukan top-sebagai jawaban.
Sebagai awalnya diusulkan di komentar oleh GeoMac dan didokumentasikan pada NuGet's docs berikut bekerja untuk saya ketika tidak ada jawaban yang lain bekerja:
Alat / NuGet Package Manager / Package Manager Console
Update-Package -ProjectName MyProjectName -reinstall
Dalam kasus saya tidak ada solusi di atas bekerja. Aku diselesaikan dengan cara mengklik kanan pada referensi
System.Net.Http.Format
dari Visual studio dan pengaturan properti Copy Lokal untuk sejati.
Saya berharap hal ini berguna entah bagaimana.
Apa soal ini kesalahan yang menjengkelkan bagi saya adalah hanya untuk menutup Visual Studio dan buka lagi. Kemudian membangun solusi, dan itu semua bekerja lagi. Maaf untuk jawaban omong kosong, tapi saya pikir itu's layak jawaban karena soal itu bagi saya.
Saya menghadapi masalah yang sama karena
System.Net.Http.Format
versi tertulis dalam webconfig adalah 5.0.3 tapi di dalam folder bin perpustakaan Sistem.Net.Http.Format dll versi 4.0.2
jadi saya hanya diganti dengan yang diberikan di dalam bin
hanya lakukan ini bersih proyek dan membangun
Saya punya masalah dengan ASP.NET proyek DIBANDINGKAN dengan tahun 2019.
Gejala lain adalah, bahwa beberapa referensi (Sistem.Web.Http) yang ditandai sebagai kesalahan dalam proyek daftar referensi (Solution Explorer)
Solusi saya:
Penyebab:
Melihat perbedaan di csproj file aku bisa melihat alasan untuk masalah. Seseorang berhasil referensi DLL di Windows Program file folder!
<Reference Include="System.Web.Http">
<Hintpath>..\..\..\..\..\..\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 4\Packages\Microsoft.AspNet.WebApi.Core.4.0.30506.0\lib\net40\System.Web.Http.dll</Hintpath>
</Reference>
<Reference Include="System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<Hintpath>..\..\..\..\..\..\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 4\Packages\Microsoft.AspNet.Mvc.4.0.30506.0\lib\net40\System.Web.Mvc.dll</Hintpath>
</Reference>
Mungkin anda perlu mengatur referensi perpustakaan sebagai "Salinan Lokal = True" pada kotak dialog properties. Pada visual studio klik pada "referensi" kemudian klik kanan pada referensi yang hilang, dari menu konteks klik properti, anda harus melihat salinan pengaturan lokal.
VS2019: Alat -> Nuget Package Manager -> Paket Manager Pengaturan -> di Paket Memulihkan centang 2 pilihan. Setelah itu, pergi untuk paket proyek folder dan menghapus semua folder anak-anak dalam (untuk tidak lagi error) Kemudian Membangun kembali solusi, Nuget akan redownload semua paket dan proyek harus berjalan tanpa ada referensi.
Bagi Saya menambahkan beberapa di bawah garis di WebApi.config bekerja setelah update baru paket nuget tidak bekerja
var setting = config.Formatters.JsonFormatter.SerializerSettings;
setting.ContractResolver = new CamelCasePropertyNamesContractResolver();
setting.Formatting = Formatting.Indented;
Don't lupa untuk menambahkan namespace:
using Newtonsoft.Json.Serialization;
using Newtonsoft.Json;