J'ai une petite application MVC que j'utilise pour des raisons de pratique, mais maintenant je rencontre une erreur chaque fois que j'essaie de déboguer:
Could not load file or assembly 'System.Net.Http.Formatting' or one of its dependencies.
The system cannot find the path specified.
J'ai cherché sur Google mais je ne trouve pas de solution. J'utilise .NET 4.5.
Ce ne peut pas être le fichier DLL car j'utilise .Net 4.5.
c#
asp.net
.net
asp.net-mvc-4
Norris
la source
la source
Réponses:
Chaque fois que j'ai une erreur NuGet comme celle-ci, je prends généralement ces étapes:
Prendre toutes ces étapes restaure presque toujours tous les packages et dll dont j'ai besoin pour mon programme MVC.
MODIFIER >>>
Pour Visual Studio 2013 et au-dessus, l'étape 2) doit se lire:
la source
Supprimer toutes les références de code à
System.Net.*
dans la fenêtre du package,
Install-Package Microsoft.AspNet.WebApi.Client
Nettoyez et reconstruisez votre projet
la source
Web.Config
bindingRedirect
forSystem.Net.Http.Formatting
etSystem.Web.Http
vers le nouveau installé par la commande ci-dessus ... c'est-à-dire qu'il est passé de<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0"/>
à<bindingRedirect oldVersion="0.0.0.0-4.0.30319" newVersion="4.0.30319"/>
J'ai trouvé un extra
dans mon web.config. supprimé cela pour le faire fonctionner. un autre package que j'ai installé, puis supprimé a causé le problème.
la source
user3919888 m'a orienté dans la bonne direction, mais j'avais besoin de courir
Update-Package -reinstall Microsoft.AspNet.WebApi.Client
dans la console Package-Manager. L'installation de base en elle-même ne reconnaît pas le problème mais reconnaît que le package est déjà installé et ne l'écrase pas.Je poste cette réponse parce que cela se produit si rarement que je finis par rechercher sur Google et atteindre cette page avant de me souvenir de ce que j'ai fait la dernière fois.
la source
La suppression des lignes suivantes de
web.config
résolu mon problème. Notez que dans ce projet, je n'ai pas utilisé de composants WebApi. Donc, pour d'autres, cette solution peut ne pas fonctionner comme prévu.la source
Pour ceux qui utilisent le projet .NET Standard en combinaison avec les projets .NET Framework :
De la manière .NET Standard, les packages inclus dans un projet .NET Standard seront correctement utilisés dans d'autres projets .NET Core et .NET Standard.
Im la manière .NET Framework, si vous faites référence à un projet .NET Standard à partir d'un projet .NET Framework (MVC), vous devez télécharger et installer manuellement les mêmes packages nuget.
Donc, la réponse à ma question était que je devais télécharger et installer
Microsoft.AspNet.WebApi.Client
dans le projet Web (.NET Framework) qui utilise un projet .NET Standard là oùMicrosoft.AspNet.WebApi.Client
c'est nécessaire. En fait, je l'avais déjà installé mais il y avait une différence de version.J'ajoute simplement cette réponse pour que les autres la voient, cela ne répond peut-être pas directement à la question d'OP, mais cela m'a fait gagner du temps en vérifiant d'abord cela au lieu de faire les réponses les mieux votées.
la source
System.Net.*
Microsoft.AspNet.WebApi
et ses dépendances.Microsoft.AspNet.WebApi
et ses dépendances.la source
Comme suggéré à l'origine dans un commentaire de GeoMac et documenté sur la documentation de NuGet, ce qui suit a fonctionné pour moi lorsqu'aucune des autres réponses n'a fonctionné:
Outils / Gestionnaire de packages NuGet / Console du gestionnaire de packages
la source
Dans mon cas, aucune des solutions ci-dessus n'a fonctionné. J'ai résolu en faisant un clic droit sur la référence
à partir de Visual studio et en définissant la propriété Copy Local sur true .
J'espère que cela est utile d'une manière ou d'une autre.
la source
Ce qui a résolu cette erreur ennuyeuse pour moi était simplement de fermer Visual Studio et de l'ouvrir à nouveau. Ensuite, reconstruisez la solution et tout a fonctionné à nouveau. Désolé pour la réponse de merde, mais je pense que cela vaut la peine d'avoir une réponse car cela l'a résolu pour moi.
la source
Pour moi, c'était aussi simple que
Microsoft.AspNet.WebApi.Client
du dossier packages dans l'Explorateur Windowsla source
Dans mon cas, rien de ce qui précède n'a fonctionné, cependant, le remplacement de 5.2.3.0 par 4.0.0.0 a résolu le problème.
la source
J'étais confronté au même problème parce que
la version écrite dans webconfig était 5.0.3 mais dans le dossier bin, la version de la bibliothèque System.Net.Http.Formatting dll était 4.0.2
donc je viens de remplacer par le même bac à l'intérieur
faites simplement ce projet propre et construisez
la source
Vous devez probablement définir la référence de la bibliothèque comme "Copier Local = True" dans la boîte de dialogue des propriétés. Sur Visual Studio, cliquez sur "références" puis faites un clic droit sur la référence manquante, dans le menu contextuel cliquez sur Propriétés, vous devriez voir copier le paramètre local.
la source
Pour moi, l'ajout de quelques lignes ci-dessous dans WebApi.config fonctionne comme après la mise à jour du nouveau package nuget ne fonctionne pas
N'oubliez pas d'ajouter un espace de noms:
la source
Ce que j'ai fait pour résoudre ce problème est
Accédez au gestionnaire de packages NuGet.
Sélectionnez Mises à jour (dans le panneau de gauche)
Mettre à jour les composants WebApi
Après cela, le projet s'est exécuté sans erreur.
la source
VS2019: Outils -> Nuget Package Manager -> Package Manager Setting -> dans la section Package Restore, cochez 2 options. Après cela, allez dans le dossier des packages de projet et supprimez tous les dossiers enfants à l'intérieur (pour plus aucune erreur). Puis Rebuild solution, Nuget retéléchargera tous les packages et le projet devrait s'exécuter sans aucune référence.
la source
J'ai eu le problème avec un projet ASP.NET dans VS 2019.
Un autre symptôme était que certaines références (System.Web.Http) étaient marquées comme défectueuses dans la liste des références de projet (Explorateur de solutions)
Ma solution:
La cause:
En regardant la différence dans le fichier csproj, je pouvais voir la raison du problème. Quelqu'un a réussi à référencer une DLL dans le dossier de fichiers du programme Windows!
la source