将新Facebook 5.1 SDK导入现有项目时出现InternalCompilerError

将新Facebook 5.1 SDK导入现有项目时出现InternalCompilerError,facebook,facebook-unity-sdk,facebook-sdk-3.1,Facebook,Facebook Unity Sdk,Facebook Sdk 3.1,如果我在一个新项目中导入这个包,我就不会遇到任何问题 但是,当我尝试将其导入到现有项目(具有SDK的5.0.4版本)中时,在导入完成后,我会收到以下错误消息: Unhandled Exception: Mono.CSharp.InternalErrorException: Internal error at Mono.CSharp.MethodGroupExpr.IsApplicable (Mono.CSharp.ResolveContext ec, Mono.CSharp.Argumen

如果我在一个新项目中导入这个包,我就不会遇到任何问题

但是,当我尝试将其导入到现有项目(具有SDK的5.0.4版本)中时,在导入完成后,我会收到以下错误消息:

Unhandled Exception: Mono.CSharp.InternalErrorException: Internal error

  at Mono.CSharp.MethodGroupExpr.IsApplicable (Mono.CSharp.ResolveContext ec, Mono.CSharp.Arguments& arguments, Int32 arg_count, System.Reflection.MethodBase& method, System.Boolean& params_expanded_form) [0x00000] in <filename unknown>:0 

  at Mono.CSharp.MethodGroupExpr.OverloadResolve (Mono.CSharp.ResolveContext ec, Mono.CSharp.Arguments& Arguments, Boolean may_fail, Location loc) [0x00000] in <filename unknown>:0 

  at Mono.CSharp.Invocation.DoResolveOverload (Mono.CSharp.ResolveContext ec) [0x00000] in <filename unknown>:0 

  at Mono.CSharp.Invocation.DoResolve (Mono.CSharp.ResolveContext ec) [0x00000] in <filename unknown>:0 

  at Mono.CSharp.Expression.Resolve (Mono.CSharp.ResolveContext ec, ResolveFlags flags) [0x00000] in <filename unknown>:0 

  at Mono.CSharp.Expression.Resolve (Mono.CSharp.ResolveContext ec) [0x00000] in <filename unknown>:0 

  at Mono.CSharp.ExpressionStatement.ResolveStatement (Mono.CSharp.BlockContext ec) [0x00000] in <filename unknown>:0 

  at Mono.CSharp.StatementExpression.Resolve (Mono.CSharp.BlockContext ec) [0x00000] in <filename unknown>:0 

  at Mono.CSharp.Block.Resolve (Mono.CSharp.BlockContext ec) [0x00000] in <filename unknown>:0 

  at Mono.CSharp.ToplevelBlock.Resolve (Mono.CSharp.FlowBranching parent, Mono.CSharp.BlockContext rc, Mono.CSharp.ParametersCompiled ip, IMethodData md) [0x00000] in <filename unknown>:0 
未处理的异常:Mono.CSharp.InternalErrorException:内部错误
在Mono.CSharp.MethodGroupExpr.isapplicate(Mono.CSharp.ResolveContext,Mono.CSharp.Arguments&Arguments,Int32 arg_count,System.Reflection.MethodBase&method,System.Boolean¶ms_expand_form)[0x00000 in:0
在Mono.CSharp.MethodGroupExpr.OverloadResolve(Mono.CSharp.ResolveContext ec,Mono.CSharp.Arguments&Arguments,Boolean may_fail,Location loc)[0x00000]中:0
位于:0中的Mono.CSharp.Invocation.DoResolveOverload(Mono.CSharp.ResolveContext)[0x00000]处
在:0中的Mono.CSharp.Invocation.DoResolve(Mono.CSharp.ResolveContext)[0x00000]处
在:0中的Mono.CSharp.Expression.Resolve(Mono.CSharp.ResolveContext,resolvefags flags)[0x00000]处
在0中的Mono.CSharp.Expression.Resolve(Mono.CSharp.ResolveContext)[0x00000]处
位于:0中的Mono.CSharp.ExpressionStatement.ResolveStatement(Mono.CSharp.BlockContext ec)[0x00000]处
在:0中的Mono.CSharp.StatementExpression.Resolve(Mono.CSharp.BlockContext ec)[0x00000]处
在:0中的Mono.CSharp.Block.Resolve(Mono.CSharp.BlockContext ec)[0x00000]处
在Mono.CSharp.ToplevelBlock.Resolve(Mono.CSharp.FlowBranching父级,Mono.CSharp.BlockContext rc,Mono.CSharp.Parameters编译ip,IMethodData md)[0x00000]中:0
有人知道为什么会这样吗


(作为额外信息,在我的项目中,我将Itween&EasyTouch集成起来)

问题是,在我为邀请使用的Facebook包装类中,我有一个FB.AppRequest调用,该调用具有旧FacebookSDK的签名。这导致了内部编译器错误


希望它能帮助你们,不要像我一样浪费一天时间

Unity不支持命名参数。因此,请始终像这样使用FB.AppRequest()函数:

        FB.AppRequest("WHAT'S UP?" //message
            , null //to
            , "" //filters
            , null //excludeIds
            , null //maxRecipients
            , "" //data
            , "ASKING YOU" //title
            , myCallback //callback
            );

我也有同样的问题,但一直无法找到任何错误。。。我没有在任何地方使用任何“FB.AppRequest”电话。。。我有一个“FB.API”调用。。。我不知道如何辨别是否有一个旧的FacebookSDK签名或者那是什么。。。我以为我只是导入了新的包并开始使用它。。。这是一场噩梦@NicolaiDutka,你有旧的
资产/Examples/InteractiveConsole.cs
吗?这仍然可能有一个对
FB.AppRequest
@Brian的旧引用,我有,即使删除了它和InteractiveConsole.unity文件,我仍然会得到相同的错误…private void CallAppRequestAsFriendSelector(){int?maxRecipients=null;if(FriendSelectorMax!=“”){try{maxRecipients=Int32.Parse(FriendSelectorExcludeIds==”);}catch(异常e){Debug.Log(e.Message);}}}string[]excludeIds=(FriendSelectorExcludeIds==”)?null:FriendSelectorExcludeIds.Split(“,”);FB.AppRequest(message:FriendSelectorMessage,filters:FriendSelectorFilters,ExcludeId:ExcludeId,maxRecipients:maxRecipients,data:FriendSelectorData,title:FriendSelectorTitle,callback:appRequestCallback);新的调用方式如下
FB.AppRequest(FriendSelectorMessage、null、FriendSelectorFilters、ExcludeId、maxRecipients、FriendSelectorData、FriendSelectorTitle、Callback);
Unity在重载方法和使用参数名调用它们时遇到问题。因此,请不要使用这些方法。