我正在构建一个非常粗糙的facebook应用程序作为学校项目,我遇到了最有趣的错误。当试图对涉及“我”的FacebookApp.Api()进行任何调用时,我得到以下异常:
System.TypeLoadException:继承 安全规则违反了 重写成员: Facebook.FacebookApiException.GetObjectData(System.Runtime.Serialization.SerializationInfo, System.Runtime.Serialization.StreamingContext)”。 安全可访问性 重写方法必须匹配 该方法的安全可访问性 被覆盖。
堆栈追踪:
[TypeLoadException: Inheritance security rules violated while overriding member: 'Facebook.FacebookApiException.GetObjectData(System.Runtime.Serialization.SerializationInfo, System.Runtime.Serialization.StreamingContext)'. Security accessibility of the overriding method must match the security accessibility of the method being overriden.]
Facebook.FacebookApp.WithMirrorRetry(Func`1 body) in d:\Projects\facebooksdk\src\Facebook\FacebookApp.cs:758
Facebook.FacebookApp.OAuthRequest(Uri uri, IDictionary`2 parameters, HttpMethod httpMethod) in d:\Projects\facebooksdk\src\Facebook\FacebookApp.cs:545
Facebook.FacebookApp.Graph(String path, IDictionary`2 parameters, HttpMethod httpMethod) in d:\Projects\facebooksdk\src\Facebook\FacebookApp.cs:529
Facebook.FacebookAppBase.Api(String path, IDictionary`2 parameters, HttpMethod httpMethod) in d:\Projects\facebooksdk\src\Facebook\FacebookAppBase.cs:415
Facebook.FacebookAppBase.Api(String path) in d:\Projects\facebooksdk\src\Facebook\FacebookAppBase.cs:350
Callback.Page_Load(Object sender, EventArgs e) +622
System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +14
System.Web.Util.CalliEventHandlerDelegateProxy.Callback(Object sender, EventArgs e) +35
System.Web.UI.Control.OnLoad(EventArgs e) +91
System.Web.UI.Control.LoadRecursive() +74
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2207
据我所知,错误来自于FacebookApiException正在覆盖Exception的getDataObject而没有正确的安全性。但是,我没有看到FacebookApiException在源代码中完全覆盖了该方法。
任何帮助都将不胜感激。
答案 0 :(得分:0)
这是Facebook C#SDK 4.0.2版中的已知错误。该错误已在代码中修复,并将在下一版本中修复。修复方法是完全信任地运行应用程序或使用源代码管理中的最新版本。