Am si eu o mica MVC aplicație pe care am folosi pentru a practica motive, dar acum eu sunt confruntă cu o eroare de fiecare dată am încerca să-debug:
Could not load file or assembly 'System.Net.Http.Formatting' or one of its dependencies.
The system cannot find the path specified.
Am'am cautat pe google, dar nu pot găsi o soluție. Am'm a utiliza .NET 4.5.
Se poate't fi fișier DLL pentru că m-am'm a utiliza .Net 4.5.
Ori de câte ori am o NuGet de eroare, cum ar fi acestea de obicei iau acești pași:
Luând toate aceste etape aproape întotdeauna restabilește toate pachetele și dll's am nevoie pentru MVC program.
EDITARE >>>
Pentru Visual Studio 2013 și mai sus, pasul 2) ar trebui să citească:
Elimina toate cod trimiteri la System.Net.*
în pachetul de geam,
Pachetul De Instalare Microsoft.AspNet.WebApi.Client
Am găsit un plus de
<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>
în web.config. a scos pentru a face să funcționeze. un alt pachet l-am instalat, și apoi îndepărtat cauzat problema.
user3919888 m-a îndreptat în direcția cea bună, dar am nevoie pentru a rula Update-Pachet-reinstalați Microsoft.AspNet.WebApi.Client
în Pachet-Manager consola. De bază a instala de la sine nu recunoaște problema, dar nu recunoaște că pachetul este deja instalat și nu suprascrie-l.
Am'm a posta acest raspuns pentru că acest lucru se întâmplă atât de rar că am ajuns pe google și ajunge la această pagină înainte să-mi amintesc ce am făcut data trecută.
Eliminarea următoarele linii de web.config` a rezolvat problema mea. Rețineți că în acest proiect am n't folosi WebApi componente. Deci, pentru alții această soluție poate să nu funcționeze cum era de așteptat.
<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.*
Pentru cei care folosesc .NET Standard proiect în combinație cu .NET Framework proiecte:
În .NET mod Standard, pachetele care sunt incluse într-un .NET proiect Standard corect va fi folosit peste altul .NET Core și .NET proiecte Standard.
Im .NET Framework cale, dacă te referi la un .NET Standard de proiect de la un .NET Framework (MVC) de proiect, aveți nevoie pentru a descărca și instala manual același pachete nuget.
Deci, răspunsul la întrebarea mea a fost că am avut pentru a descărca și instala Microsoft.AspNet.WebApi.Client în proiect web (.NET Framework), care este folosind-o .NET proiect Standard în cazul în care Microsoft.AspNet.WebApi.Clientul este nevoie. De fapt, deja am avut instalat dar nu a fost o diferenta de versiune.
Am adăuga acest răspuns pentru alții pentru a vedea, s-ar putea să nu răspundă direct OP's cauză, dar l-a salvat pe mine timp de verificare în primul rând acest lucru în loc de a face partea de sus-a votat răspunsuri.
Inițial a sugerat într-un comentariu de GeoMac și documentate pe NuGet's docs următoarele lucrat pentru mine, atunci când nici unul dintre celelalte răspunsuri lucrat:
Instrumente / Pachete NuGet Manager / Manager De Pachete Console
Update-Package -ProjectName MyProjectName -reinstall
În cazul meu, niciuna dintre soluțiile de mai sus a lucrat. Am rezolvat prin clic dreapta pe trimitere
System.Net.Http.Formatarea
din Visual studio și setarea proprietății Copie Locală la adevărat.
Sper că acest lucru este util într-un fel.
Ce a rezolvat această eroare enervant pentru mine a fost doar pentru a închide Visual Studio și deschideți-l din nou. Apoi reconstrui soluție, și totul a mers din nou. Scuze pentru prostiile răspuns, dar cred că's valoare de un răspuns pentru că a rezolvat-o pentru mine.
Pentru mine a fost la fel de simplu ca
Am fost confruntă cu aceeași problemă, pentru că
System.Net.Http.Formatarea
versiune scrisă în interiorul webconfig fost 5.0.3 dar în interiorul folderul bin Sistemul de biblioteci.Net.Http.Formatarea dll versiune a fost 4.0.2
așa că am înlocuit cu aceleași date în interiorul bin
doar fac curat proiectului și de a construi
Eu am avut problema cu o ASP.NET proiect în VS 2019.
Un alt simptom a fost, că unele referințe (de Sistem.Web.Http) au fost marcate ca defecte în proiect listă de referințe (Soluție de Explorer)
Soluția mea:
Cauza:
Uită-te la diferența în csproj am putut vedea motivul pentru necazuri. Cineva a reușit să facă referire la un DLL în Windows Program de dosar!
<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>
Ceea ce am făcut pentru a rezolva această problemă este
Du-te la manager de pachete NuGet.
Selectați Actualizări (din panoul din stânga)
Update WebApi componente
După aceea, proiectul s-a desfășurat fără erori.
Probabil ai nevoie pentru a seta bibliotecă de referință ca "Copia Locală = True" pe de dialog proprietăți. Pe visual studio faceți clic pe "referințe", apoi faceți clic dreapta pe lipsă de referință, din meniul contextual faceți clic pe proprietăți, ar trebui să vezi copia locală setare.
VS2019: Tools -> Manager de pachete Nuget -> Pachetul Manager Setarea -> în Pachetul de Restaurare secțiune, check-2 opțiuni. După aceea, du-te la pachete de proiecte dosar și șterge toate folderele de copil interior (pentru a nu mai este nici o eroare) Apoi Reconstrui soluție, Nuget va redownload toate pachetele de proiect și ar trebui să ruleze fără nici o referință.
Pentru Mine adăugarea de mai jos câteva linie în WebApi.config funcționează ca după actualizarea noile pachete nuget nu funcționează
var setting = config.Formatters.JsonFormatter.SerializerSettings;
setting.ContractResolver = new CamelCasePropertyNamesContractResolver();
setting.Formatting = Formatting.Indented;
Don't uitați să adăugați spațiu de nume:
using Newtonsoft.Json.Serialization;
using Newtonsoft.Json;