web-dev-qa-db-ja.com

unity3d:タイプ「タスク」はUnity.Tasksとmscorlibの両方に存在します

結束2019.1.4f1の空のプロジェクトを作成しました。認証用のfirebase SDKパッケージと here から別のgoogleサインインパッケージをインポートしました。私は基本的にAndroidでgoogleサインインを達成しようとしています。しかし、2番目のパッケージ(googleサインイン)をインポートすると、このエラーが表示されます(以下)

プロジェクトでは何もしていません。インポートしただけです。私は何をすべきかわからない。

Library\PackageCache\[email protected]\Scripts\Editor\TMP_PackageUtilities.cs(310,17):error CS0433:Type 'Task' exists exists in 'Unity.Tasks、Version = 0.0.0.0、Culture = neutral、PublicKeyToken = null 'および' mscorlib、Version = 4.0.0.0、Culture = neutral、PublicKeyToken = b77a5c561934e089 '

6
Nitin

宣言に名前空間を追加します。

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

例えば.

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

できました。

1
Morten Bork

同じ問題があり、修正しました。このバージョンのTextMeshProはプロジェクト内のすべてのライブラリを参照しているようです。これは、キャッシュされたパッケージファイルを変更することで変更できます。より正確には、この行を追加できます

"overrideReferences": true,

「(プロジェクトディレクトリ)\ Library\PackageCache\[email protected]\Scripts\Editor\Unity.TextMeshPro.Editor.asmdef」

テキストエディタで開きます。

これにより、TextMesh Proエディターのコードは、プロジェクト内のすべてのコンパイル済みアセンブリとは反対に、このファイル内のアセンブリのみを参照します。ファイルは次のようになります。

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

2番目のオプションは、TextMesh Proパッケージを削除することです。プロジェクトで使用しないことが確実な場合は、トップメニューの[ウィンドウ->パッケージマネージャ]を使用できます。次に、[パッケージ]ウィンドウのリストでTextMesh Proを選択し、[削除]をクリックします。

0
Nick Morhun

パッケージマネージャーからtextMeshProを更新するだけです。

0
AZ Man