FileLoadException a été gérée par le code de l'utilisateur
Je suis de la configuration de l'API pour mon MVC-4 app et quand j'ai pas commenté cette ligne dans Globals.asax.cs:
WebApiConfig.Register(GlobalConfiguration.Configuration);
J'ai reçu cette exception lorsque j'ai commencé mon projet de retour jusqu':
An exception of type 'System.IO.FileLoadException' occurred in mscorlib.dll but was not handled in user code
Additional information: Could not load file or assembly 'Newtonsoft.Json, Version=4.5.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
Que dois-je faire?
Mise à jour 1 (captures d'écran)
de ce que je peux dire, JSON.Net regarde comme il est correctement installé.
Mise à jour 2
JSON.Net en fait semble fonctionner lorsque l'API routes sont commentées dans Globals.Asax. Ce n'est pas de jeter des erreurs:
public ActionResult Index()
{
var foo = Newtonsoft.Json.JsonSerializer.Create();
return View();
}
Visual Studio seulement se plaint quand cette ligne est sans commentaire:
WebApiConfig.Register(GlobalConfiguration.Configuration);
- Pas un correctif pour résoudre votre problème, mais pensez à mettre à jour de l'API Web 2.12.
- pas besoin de s'inquiéter à propos de ce problème,il suffit de l'installer JSON.NET paquet de gestionnaire de package nuget,puis il fonctionne bien.
Vous devez vous connecter pour publier un commentaire.
Cela a également eu lieu pour moi aujourd'hui. Semble comme il y avait eu une mise à jour pour json.net (maintenant la version 6.0.3), provoquant nuget pour télécharger la dernière version après la construction. Cependant, les références à l'ancien json.net libs pourrait ne pas obtenir la mise à jour quand il y a des depencies à d'autres libs.
Solution: ouvrir Manuellement le gérer les packages nuget pour la solution de fenêtre et de désinstaller l'ancienne version(s) de json.net. Puis prendre la dernière version et l'installer pour tous les projets nécessaires. Qui fixe l'erreur exacte que vous avez eu pour moi...
-- edit --
Ok, donc j'ai trouvé que cette solution a fonctionné pour moi localement, mais à distance ce n'est pas résoudre mes problèmes. Semble comme il y a quelques anciennes dépendances d'autres libs dur, référencement de la 4.5.0.0 version de json.net. Plus de sujets sur Stackoverflow.com fournir la solution suivante.
Ajouter cette liaison d'assembly de redirection vers votre web.config fichier:
Probablement
Newtonsoft.Json
DLL n'est pas correctement mis en place.Assurez-vous que vous avez la
Newtonsoft.Json
DLL dans votre (IIS /projet)bin
dossier.Alternativement, vous pouvez aussi l'installer DLL dans le GAC si vous prévoyez de l'utiliser sur plusieurs projets.
On dirait que vous n'avez pas Newtonsoft.Json installé/référencées. L'API Web s'appuie sur le présent et ne fonctionnera pas correctement jusqu'à ce que vous résoudre cette dépendance. Vous pouvez l'installer via NuGet.
Simplement supprimer votre Newtonsoft.Json dll à partir de la corbeille dossier, puis ouvrez le paquet.le fichier de configuration et supprimer votre Newtonsoft.Json entrée à partir de là, puis réinstallé votre Newtonsoft.Json par la commande mais n'avez pas installé une version plus récente si vous faites face à ce problème avec la version la plus récente de trouver l'ancienne version de la commande
comme Install-Package Newtonsoft.Json -Version 6.0.8
maintenant Install-Package Newtonsoft.Json -Version 7.0.1 est également aviable, mais je suggère que vous installé la version 6.0.8 son travail