2011-03-04 19 views
10

Estoy usando la biblioteca de Facebook SDK C# en la aplicación Asp.Net 3.5. Cuando intento compilar el código a continuación, denme los errores. Como sé el tipo dinámico que usa en el marco 4.0. ¿De todos modos es para reescribirlo para que funcione? que tienen una referencia a System.Core 3.5, pero todavía no es recopilandoNo se puede definir la clase o el miembro que utiliza dinámica porque el compilador requiere el tipo

protected void Page_Load(object sender, EventArgs e) 
     { 
      if (Request.Params.AllKeys.Contains("signed_request")) 
      { 
       var result = FacebookSignedRequest.Parse(FacebookContext.Current.AppSecret, Request.Params["signed_request"]); 
       dynamic signedRequestValue = result.Data; 
       this.RegistrationData = signedRequestValue.registration; 
      } 
      else 
      { 
       Response.Redirect("~/"); 
      } 
     } 

protected dynamic RegistrationData { get; set; } 


Error 1 Cannot define a class or member that utilizes 'dynamic' because the compiler required type 'System.Runtime.CompilerServices.DynamicAttribute' cannot be found. Are you missing a reference to System.Core.dll? 

Error 2 Cannot define a class or member that utilizes 'dynamic' because the compiler required type 'System.Runtime.CompilerServices.DynamicAttribute' cannot be found. Are you missing a reference to System.Core.dll? 

Respuesta

7

dinámico está disponible en C# 4.0.

Tiene que convertir su aplicación a la versión 4.0 Cambie los conjuntos referenciados (System.Core) a la versión 4.0.

+0

No puedo convertir mi aplicación en este momento en 4.0. ¿Hay alguna forma de ajustar el código? – Anton

+0

¿Conoce el tipo de valor de datos devuelto por result.Data? – Chandu

+0

Su Facebook.Json.Object que regresa contiene llaves y valores. valor es cadena – Anton

0

Si no desea utilizar la función dinámica, no es necesario.

var client = new FacebookClient(); 
var me = client.Get("totten") as IDictionary<string, object>; 
string firstName = (string)me["first_name"]; 
string lastName = me["last_name"].ToString(); 

This tutorial explica más en profundidad

4

Mi proyecto ya> 4.0 era. Fue 4.5.2, de hecho. Estaba experimentando este error. Lo que hice para solucionarlo:

  1. Cambié el proyecto a 4.5.1.

  2. Lo cambié a 4.5.2.

  3. ¡Problema resuelto!

Gracias - espero que esto ayude a alguien por ahí.

PS - no usa el SDK de Facebook, pero esto podría ayudar.

Cuestiones relacionadas