Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# unity3d:类型;任务“;存在于Unity.Tasks和mscorelib中_C#_Firebase_Unity3d_Google Signin - Fatal编程技术网

C# unity3d:类型;任务“;存在于Unity.Tasks和mscorelib中

C# unity3d:类型;任务“;存在于Unity.Tasks和mscorelib中,c#,firebase,unity3d,google-signin,C#,Firebase,Unity3d,Google Signin,我用unity 2019.1.4f1创建了一个空白项目。我导入了firebase SDK包进行身份验证,并从中导入了另一个google登录包。我基本上是想用firebase在android上实现谷歌登录。但是当我导入第二个软件包(谷歌登录)时,我得到了这个错误(如下) 我在项目中没有做任何其他事情,只是导入。我不知道该怎么办 Library\PackageCache\com.unity。textmeshpro@2.0.1\Scripts\Editor\TMP_PackageUtilities.c

我用unity 2019.1.4f1创建了一个空白项目。我导入了firebase SDK包进行身份验证,并从中导入了另一个google登录包。我基本上是想用firebase在android上实现谷歌登录。但是当我导入第二个软件包(谷歌登录)时,我得到了这个错误(如下)

我在项目中没有做任何其他事情,只是导入。我不知道该怎么办

Library\PackageCache\com.unity。textmeshpro@2.0.1\Scripts\Editor\TMP_PackageUtilities.cs(310,17): 错误CS0433:类型“Task”存在于两个“Unity.Tasks”中, Version=0.0.0.0,Culture=neutral,PublicKeyToken=null'和'mscorlib, 版本=4.0.0.0,区域性=中性,PublicKeyToken=b77a5c561934e089'


将命名空间添加到声明中

SomeNameSpace.Task task = new SomeNameSpace.Task();
e、 g


完成。

您可能遇到的问题是一个兼容性层,它将.NET 4.x功能引入到名为Parse的.NET 3.x运行时中。在Firebase中,这就是为什么存在dotnet3和dotnet4文件夹的原因


在执行插件导入时,假设您使用的是.NET 4.x运行时(Unity 2019中的默认设置),请确保从Firebase的dotnet4文件夹中获取Unity软件包。然后,在导入GoogleSSO包时,排除Parse目录(Firebase插件应该已经引入了必要的部分)。那应该会让你振作起来

只需从软件包管理器更新textMeshPro即可。

我也遇到了同样的问题,并修复了它。看起来此版本的TextMeshPro引用了项目中的所有库。您可以通过更改缓存的包文件来更改这一点。更准确地说,您可以添加这一行

“覆盖引用”:true,

“(您的项目目录)\Library\PackageCache\com.unity。textmeshpro@2.0.1\脚本\编辑器
Unity.TextMeshPro.Editor.asmdef“

通过在文本编辑器中打开它(确保您具有写入文件的访问权限)

这将使TextMesh Pro编辑器代码仅引用此文件中与项目中所有已编译程序集相对的程序集。 该文件将如下所示:

    {
        "name": "Unity.TextMeshPro.Editor",
        "references": [
            "Unity.TextMeshPro",
            "Unity.ugui",
            "Unity.ugui.Editor"
        ],
        "optionalUnityReferences": [],
        "overrideReferences": true,
        "includePlatforms": [
            "Editor"
        ],
        "excludePlatforms": []
    }
第二个选项是删除TextMesh Pro软件包。如果您确定项目不使用它,您可以使用顶部菜单“窗口->包管理器”。然后在“软件包”窗口中,在列表中选择TextMesh Pro并单击“删除”。

很简单

后藤: youProjectFolder\Assets\Parse\Plugins

删除dotNet45文件夹之外的所有文件


错误应该得到解决。

这是唯一有效的解决方案!非常感谢!这就是我的工作。请参阅Unity帮助页面上关于如何从软件包管理器升级TextMeshPro的说明,此处不起作用,因为它们都位于System.Threading.Tasks命名空间中。“Unity.Tasks,版本=0.0.0.0,区域性=中性,PublicKeyToken=null”和“mscorlib,版本=4.0.0.0,区域性=中性,PublicKeyToken=b77a5c561934e089”会争论,你错了吗?Unity.Tasks和mscorlib是程序集名称,而不是命名空间名称。在命名空间中使用与程序集名称不同的名称是完全有效的。那么您是说他自己的程序和unity中导入的程序之间存在循环关系?我觉得这不太可能?或者你是说从unity导入程序集会导致编译时错误?谢谢。这个解决方案在Unity 2020.2中对我有效。
    {
        "name": "Unity.TextMeshPro.Editor",
        "references": [
            "Unity.TextMeshPro",
            "Unity.ugui",
            "Unity.ugui.Editor"
        ],
        "optionalUnityReferences": [],
        "overrideReferences": true,
        "includePlatforms": [
            "Editor"
        ],
        "excludePlatforms": []
    }