web-dev-qa-db-fra.com

Impossible de charger le fichier ou l'assembly 'Newtonsoft.Json, Version = 3.5.0.0

Je travaille en c # 4.0 pour lire une demande signée. J'utilise le code suivant.

FacebookApp fap = new FacebookApp();
fap.AppId = "789485219211963"; // App ID
fap.AppSecret = "365ee9f5823698536767d608cf572a49"; 

string requested_Data = Request.Form["signed_request"];
FacebookSignedRequest fsr = fap.ParseSignedRequest(requested_Data);
IDictionary<string, string> myDic = fsr.Dictionary;

string name = myDic["name"];
string algorithm = myDic["algorithm"];

Response.Write(requested_Data + "<br>" + algorithm + "<br>" + name + "<br>");

Mais sur la ligne en surbrillance, j'ai reçu l'exception suivante

Impossible de charger le fichier ou l'assembly 'Newtonsoft.Json, Version = 3.5.0.0, Culture = neutre, PublicKeyToken = 30ad4fe6b2a6aeed 'ou une de ses dépendances. Le localisé La définition du manifeste de l'Assemblée est ne correspond pas à la référence de l'Assemblée . (Exception de HRESULT: 0x80131040)

J'ai téléchargé Newtonsoft.Json. la version 1 au lieu de la version 2, mais cela ne fonctionne toujours pas . Quelqu'un peut-il bien vouloir m'aider à résoudre ce problème, veuillez également me guider, soit ma façon de lire la demande signée est correcte ou non, s'il vous plaît, spécifiez la bonne manière.

Merci:

16
Shahid Rasul

Je suppose que vous avez téléchargé Newtonsoft.Json v4.0, pas 3.5. La dernière version de la version 3.5 est la version 8. 

http://json.codeplex.com/releases/view/50552

Je suppose que vous pourrez peut-être faire une version ultérieure de votre web.config/app.config afin d’utiliser 4.0 au lieu de 3.5, car une bibliothèque que vous utilisez est probablement construite sur la version 3.5 de Newtonsoft.

18
jishi

Vous pouvez le mettre à jour avec son paquet de pépites 'Newtonsoft.Json' à l'aide du gestionnaire de paquets.

PM> update-package newtonsoft.json
9
Azadeh Khojandi

Dans la console du gestionnaire de packages Visual Studio 2013

PM> Install-Package Newtonsoft.Json

Puis redémarrez Visual Studio.

3
Michael

Quand j'ai rencontré ce problème, j'ai constaté qu'il y avait 2 dossiers similaires dans votre projet/paquet, l'un est la version 6.0.5, l'autre est la 5.0.6. 

J'ai supprimé le 5.0.6 et le problème a disparu.

2
cheny

J'ai eu le même problème avec mon projet Xamarin.Forms PCL WinPhone8.1 après la mise à niveau de tous les packages NuGet pour la solution. Le problème était avec Newtonsoft.Json v9.0.0 dans le projet winPhone8.1. 

Tous les autres projets ont fonctionné correctement. Nous avons passé deux jours à traquer tous les conseils et enfin à résoudre le problème en supprimant le projet, en tirant un clone du projet de mon git et en le réintégrant dans la solution. Encore échoué (bien que la version de git fonctionne bien avant la validation.) 

Référence supprimée pour Newtonsoft, réinstallation de l'ancienne version 8.0.3, puis mise à niveau via NuGet vers la version 9.0.0.

Supprimez ensuite toutes les références à Newtonsoft des répertoires bin/ARM/Debug, Bin/x86/Debug et Obj/ARM/Debug/MSIL et MDIL du projet winPhone8.1. A construit et SUCCESS.

1
user3763081

PM> update-package newtonsoft.json Cela fonctionne

0
cryty

Ouvrez la console du gestionnaire de packages et exécutez les opérations suivantes:

update-package newtonsoft.json 

Cela a fonctionné pour moi.

0
Mark