59 votes

Le projet d'API Web Visual Studio 2012 ne s'exécute pas - impossible de trouver Newtonsoft.Json

Après l'exécution d'une solution propre et reconstruire, mon MVC 4 Web API projet arrêts de travail. Il ne peut pas trouver Newtonsoft.Json.

Je sais que MS est en utilisant ce que la valeur par défaut JSON sérialiseur -, mais elle n'est pas dans la liste des références pour le projet, et je ne peux pas ajouter de NuGet comme il le dit il est déjà installé.

Quelqu'un a une idée sur ce qui pourrait mal se passer?

Full stack trace:

[FileNotFoundException: impossible de charger le fichier ou l'assembly 'Newtonsoft.Json, Version=4.5.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' ou une de ses dépendances. L' le système ne peut pas trouver le fichier spécifié.]
MvcWebRole1.WebApiApplication.Application_Error() dans d:\Data\Source Contrôlé Les projets\georace\georace\Serveur\GeoRaceServer\MvcWebRole1\Global.asax.cs:70

[HttpException (0x80004005): impossible de charger le fichier ou l'assembly 'Newtonsoft.Json, Version=4.5.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' ou une de ses dépendances. L' le système ne peut pas trouver le fichier spécifié.]
Système.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedmode(HttpContext contexte, HttpApplication app) +12838633
Système.Web.HttpApplication.RegisterEventSubscriptionsWithIIs(IntPtr appContext, HttpContext contexte, MethodInfo[] les gestionnaires) +175
Système.Web.HttpApplication.InitSpecial(HttpApplicationState état, MethodInfo[] les gestionnaires, IntPtr appContext, HttpContext contexte) +304
Système.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext, HttpContext contexte) +404
Système.Web.De l'hébergement.PipelineRuntime.InitializeApplication(IntPtr appContext) +475

[HttpException (0x80004005): impossible de charger le fichier ou l'assembly 'Newtonsoft.Json, Version=4.5.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed' ou une de ses dépendances. L' le système ne peut pas trouver le fichier spécifié.]
Système.Web.HttpRuntime.FirstRequestInit(HttpContext contexte) +12851296 Système.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext contexte) +159 Système.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext contexte) +12679949

81voto

BlackSpy Points 2547

Ok - trouvé un travail autour de moi, poster au cas où quelqu'un d'autre se laisserait berner par ce bogue MS. Le problème est que vous ne pouvez pas ajouter de référence NuGet car elle est déjà incluse dans les packages par défaut. Alors...

  1. Ouvrez packages.config
  2. Supprimez l'entrée Newtonsoft.Json.
  3. Enregistrer et construire
  4. Ajoutez de nouveau Newtonsoft.Json à partir de NuGet.
  5. Construire et exécuter

47voto

Rubens Mariuzzo Points 6022

Pour tout package déjà installé par NuGet que vous souhaitez réinstaller, tapez simplement la commande suivante dans la console du gestionnaire de packages :

Mise à jour dans tout projet:

 Update-Package Newtonsoft.Json -Reinstall
 

Mise à jour dans un projet spécifique

 Update-Package Newtonsoft.Json -Reinstall -Project My.App
 

35voto

ClearCloud8 Points 1237

Pour moi, la seule chose qui a corrigé cette erreur a été d'ajouter la section manquante à mon fichier web.config, que j'ai obtenue de cette réponse ici: http://stackoverflow.com/a/20414714/940783

Voici ce que je devais ajouter:

   <dependentAssembly>
    <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
  </dependentAssembly>
 

4voto

Munawar Ali Points 96

J'ai combiné un couple de possibilités que les autres de SORTE participants ont affirmé, plus une nouvelle.

Tout d'abord, Il s'avère que Nuget 2.1 a eu quelques problèmes, et ce problème a été enregistré dans un bug, et a été fixé au paragraphe 2.2.2. Voir ici: https://nuget.codeplex.com/workitem/3050

Alors, j'ai fait les étapes suivantes:

  1. Mise à jour de version Nuget pour 2.2.2 que par le lien
  2. Supprimé toutes les références à Json dans mon projet par la désinstallation de NUget (clic droit sur le projet et de trouver le paquet, et de le désinstaller (Même ce n'est pas l')
  3. Physiquement supprimé les fichiers de Package à partir de l'ordinateur. J'ai trouvé les fichiers de package ici: //projectdir/packages/Newtonsoft.JSON
  4. Supprimé les paquets.fichier de configuration à partir du répertoire physique (//nom_projet/packages.config)
  5. Une fois que c'était terminé, j'ai ajouté Newtonsoft de nouveau via Nuget, puis a fait une reconstruction, et cela a fonctionné.

4voto

TomT Points 1

J'ai eu le même problème (en VS2012). Pas de réponse m'a aidé. Enfin je l'ai résolu par la présente:

1) Allez dans OUTILS -> EXTENSIONS ET MISES à jour ici, la mise à jour (ou installer) "Gestionnaire de Package NuGet" ensuite, allez dans "en Ligne" et installer "ajout Rapide NuGet" et "NuGet Références"

2) après insttal tout-en-1) dans votre projet, faites un clic droit pour "Références" et choisissez "Gérer les Packages Nuget" dans "les paquets Installés" trouver Json.NET. Cliquez sur Désinstaller - vous ne pouvez pas le faire maintenant, mais il vous montre ce que vous devez désinstaller d'abord (certaines ASP Api Web client). Donc désinstaller toutes ces et essayer de désinstaller "Json.NET" encore une fois. Maintenant, allez à "en Ligne" et installer "Json.NET", "ASP.NET l'API WEB Client Bibliothèques" et "ASP.NET l'API WEB Client OData".

3) en Global.asax supprimer la ligne "WebApiConfig.Registre(GlobalConfiguration.De Configuration);"

générer la solution et tout devrait être ok.. J'espère que cela peut aider quelqu'un :) gl

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X