Facebook SDK for Unity 模糊错误

Facebook SDK for Unity Ambiguous Error

我正在使用 unity 5.4.0p2 并且正在尝试将 facebook sdk 用于 unity 版本 7.8.0 但是当我导入包时出现此错误:

Assets/FacebookSDK/SDK/Scripts/Results/AppLinkResult.cs(51,43): error CS0121:

The call is ambiguous between the following methods or properties: Facebook.Unity.Utilities.TryGetValue<System.Collections.Generic.IDictionary<string,object>>(this System.Collections.Generic.IDictionary<string,object>, string, out System.Collections.Generic.IDictionary<string,object>)

and

Facebook.Unity.Utilities.TryGetValue<System.Collections.Generic.IDictionary<string,object>>(this System.Collections.Generic.IDictionary<string,object>, string, out System.Collections.Generic.IDictionary<string,object>)

我进行了很多搜索,但没有任何帮助,所以有人可以解释我做错了什么吗?

我修复了它,我删除了 Facebook SDK 并再次重新导入它,现在可以正常工作了

在两个不同的命名空间中可能有两个相同定义的方法。搜索所有项目 TryGetValue 如果在不同地方有两个相同方法的定义,请尝试使用 namespace.

调用该方法

例如 int n = Random.Range(1,10); 会给出错误,因为 Random class 在 SystemUnityEngine 之间不明确。要解决此问题,您可以使用

int n = UnityEngine.Random.Range(1,10);

int n = System.Random.Range(1,10);

编辑: 在你的情况下,在 Facebook SDK 中有重复的文件会产生同样的错误。

当我尝试在我的 Unity 项目中更新 Facebook SDK 时,我遇到了同样的问题。

正确答案... 我意识到更新FB SDK的正确方法是打开你的Unity项目,删除FacebookSDK文件夹。安装 FB SDK。结束。

错误答案... 错误的做法是删除FacebookSDK文件夹然后重启Unity,然后安装新的FB SDK。这会产生像 OP 提到的问题。 另一种错误的做法是不删除 FacebookSDK 文件夹,然后只安装新的 FB SDK。这也会产生像 OP 提到的问题。

检查重复的 SDK。例如,如果您安装了 Voodoo 包,那么它将与 Facebook SDK 发生冲突。因为 Voodoo 软件包已经包含相同的 类.