2011-05-30 31 views
14

estoy trabajando en C# 4.0 para leer una solicitud firmada estoy usando el siguiente códigoNo se pudo cargar el archivo o ensamblado 'Newtonsoft.Json, versión = 3.5.0.0

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>"); 

Pero en la línea resaltada Recibí siguiente excepción

no se pudo cargar el archivo o ensamblado 'Newtonsoft.Json, Version = 3.5.0.0, Culture = neutral , PublicKeyToken = 30ad4fe6b2a6aeed' o una de sus dependencias. La definición del manifiesto del conjunto ubicado no coincide con la referencia del ensamblado. (Excepción de HRESULT: 0x80131040)

He descargado Newtonsoft.Json. lanzamiento 1 en lugar de lanzamiento 2 pero todavía no funciona. ¿Alguien puede ayudarme amablemente a resolver este problema, también por favor guíame o mi forma de leer la solicitud firmada es correcta o no, si no, por favor especifica la forma correcta.

Gracias:

+0

¿Qué línea destacó? ¿Qué hiciste con la descarga una vez que la obtuviste? –

Respuesta

16

supongo que donwloaded Newtonsoft.Json v4.0, no 3.5. Última versión de 3.5 es libero 8.

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

supongo que usted podría ser capaz de hacer una versión adelante en su web.config/app.config con el fin de utilizar 4.0 en lugar de 3.5, debido a alguna biblioteca que está usando probablemente esté basado en la versión 3.5 de Newtonsoft.

+0

Sí, tienes razón, ahora utilicé Newtonsoft.json 3.5 de http://json.codeplex.com/releases/view/50552 y funcionó. Gracias Jishi –

+4

Para referencia futura en configuración de reenvío de ensamblaje: http://msdn.microsoft.com/en-us/library/7wd6ex19.aspx –

8

Puede actualizarlo con su paquete Nuget 'Newtonsoft.Json' utilizando el administrador de paquetes.

PM> update-package newtonsoft.json 
3

En gestor de consola paquete de Visual Studio 2013

PM> Install-Package Newtonsoft.Json 

continuación, reinicie Visual Studio.

2

Cuando me encontré con este problema, encontré que había 2 carpetas similares en tus proyectos/paquetes, una es la versión 6.0.5, otra es 5.0.6.

Eliminé el 5.0.6 y el problema desapareció.

0

Tuve el mismo problema con mi proyecto Xamarin.Forms PCL WinPhone8.1 después de actualizar todos los paquetes NuGet para la solución. El problema fue con Newtonsoft.Json v9.0.0 en el proyecto winPhone8.1.

Todos los demás proyectos funcionaron correctamente. Pasé dos días investigando todos los consejos y finalmente resolví el problema borrando el proyecto, sacando un clon del proyecto de mi git y volviendo a agregarlo a la solución. Todavía falló (aunque la versión de git funcionó bien antes de la confirmación.)

Se eliminó la referencia de Newtonsoft, se volvió a instalar la versión anterior 8.0.3 y luego se actualizó a través de NuGet a V9.0.0.

Luego eliminó todas las referencias a Newtonsoft de los directorios bin/ARM/Debug, bin/x86/Debug y Obj/ARM/Debug/MSIL y MDIL del proyecto winPhone8.1. Hizo una construcción y ÉXITO

0

PM> update-package newtonsoft.json Funciona

+0

¿Podría agregar algunos detalles para que su respuesta sea más útil? –

+0

No todos sabrán que le dice que ejecute la declaración en la consola del Administrador de paquetes. –

Cuestiones relacionadas