web-dev-qa-db-fra.com

Unity3d: le type "tâche" existe à la fois dans Unity.Tasks et mscorlib

J'ai créé un projet vierge avec Unity 2019.1.4f1. J'ai importé le package SDK Firebase pour l'authentification et un autre package de connexion Google de ici . J'essaie essentiellement de me connecter à Google dans Android avec Firebase. Mais lorsque j'importe le 2e package (connexion Google), j'obtiens cette erreur (ci-dessous)

Je n'ai rien fait d'autre dans le projet, juste importé. Je ne sais pas quoi faire.

Library\PackageCache\[email protected]\Scripts\Editor\TMP_PackageUtilities.cs (310,17): erreur CS0433: le type 'Task' existe dans les deux 'Unity.Tasks, Version = 0.0.0.0, Culture = neutre, PublicKeyToken = null 'et' mscorlib, Version = 4.0.0.0, Culture = neutre, PublicKeyToken = b77a5c561934e089 '

6
Nitin

Ajoutez un espace de noms à la déclaration.

SomeNameSpace.Task task = new SomeNameSpace.Task();

par exemple.

Unity.Tasks.Task task = new Unity.Tasks.Task();

Terminé.

1
Morten Bork

J'ai eu le même problème et l'ai résolu. Il semble que cette version de TextMeshPro référence toutes les bibliothèques de votre projet. Vous pouvez changer cela en modifiant les fichiers de package mis en cache. Plus précisément, vous pouvez ajouter cette ligne

"overrideReferences": true,

à

"(Votre répertoire de projet)\Library\PackageCache\[email protected]\Scripts\Editor\Unity.TextMeshPro.Editor.asmdef"

en l'ouvrant dans un éditeur de texte.

Ainsi, le code TextMesh Pro Editor ne référencera que les assemblys de ce fichier opposés à tous les assemblys compilés du projet. le fichier ressemblera à ceci:

    {
        "name": "Unity.TextMeshPro.Editor",
        "references": [
            "Unity.TextMeshPro",
            "Unity.ugui",
            "Unity.ugui.Editor"
        ],
        "optionalUnityReferences": [],
        "overrideReferences": true,
        "includePlatforms": [
            "Editor"
        ],
        "excludePlatforms": []
    }

La deuxième option consiste à supprimer le package TextMesh Pro. Si vous êtes sûr que le projet ne l'utilise pas, vous pouvez utiliser le menu supérieur "Fenêtre -> Gestionnaire de packages". Ensuite, dans la fenêtre Packages, dans la liste, sélectionnez TextMesh Pro et cliquez sur "Supprimer".

0
Nick Morhun

Mettez simplement à jour textMeshPro à partir du gestionnaire de packages.

0
AZ Man