【问题标题】:Unity: Migrating to 2019.2.0f1 got error The type 'Task<T>' exists in both Unity.Tasks and mscorlibUnity: Migrating to 2019.2.0f1 got error The type 'Task<T>' 同时存在于 Unity.Tasks 和 mscorlib
【发布时间】:2019-08-07 19:57:31
【问题描述】:

我有一个现有的项目。它使用 Firebase sdk 等等。 我之前已经将我的项目升级到 Unity 2019.1.11f1,没有任何问题。 当我将它升级到 Unity 2019.2.0f1 时,我收到了错误消息: error CS0433: The type 'Task&lt;T&gt;' exists in both 'Unity.Tasks, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' and 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'

我已经搜索了可能的解决方案,但没有结果。 我的项目使用的是 .NET 2.0 兼容级别。

有没有人偶然发现类似的问题?

【问题讨论】:

  • @Renat 已经检查了那个问题。我的问题没有有效的答案。我没有使用 .net 4.5,我的项目在以前的 Unity 版本上运行良好。
  • 我想你可能会感到困惑,2019 和 2019.1 我认为仍然允许使用 .net 3.5 进行编译,但它已经贬值了,现在 2019.2 只是 .net 4,兼容性 api 可能是 2.0,但它仍然是在 .net 4 中编译“我们删除了旧的 .NET 3.5 等效脚本运行时。任何使用 .NET 3.5 等效脚本运行时的项目都将自动更新为使用 .NET 4.x 等效脚本运行时。”取自unity blog
  • @BugFinder 哦,我明白了。现在一切都说得通了。谢谢你的回答。

标签: .net unity3d


【解决方案1】:

如果您在 Assets/Parse/Plugins 的根目录以及 dotNet45 文件夹下有 Unity.compat 和 Unity.tasks,请删除根目录下的文件。

【讨论】:

    【解决方案2】:

    这意味着Task&lt;T&gt; 在您的两个(或更多)程序集中被引用。在这种情况下,在指令中:

    using Unity.Tasks;
    using mscorlib`;
    

    您可以做几件事。如果可能,第一个是删除其中一个指令(当然,只有在两个指令中的任何一个未使用时才能这样做。所以并不总是可能的)。或者,您可以指定 Task&lt;T&gt; 需要通过执行来引用特定程序集

    using Task<T> = Unity.Task;
    

    另一种选择是内联声明您要使用的指令Task&lt;T&gt;。例如Unity.Task.Task&lt;T&gt; = foo;mscorlib.Task&lt;T&gt; = bar;。这将为编译器消除歧义。

    (如果您使用的是 VS,Visual Studio 应该已经选择了上述两个选项。将鼠标悬停在红色下划线上并选择“显示潜在修复”或默认情况下 ctrl + .

    最后的解决方案是使用/reference 编译器选项。如微软docs on error CS0433所示 (直接从上述文档复制的示例)

    // compile with: /reference:cs0433_1.dll /reference:TypeBindConflicts=cs0433_2.dll  
    using TypeBindConflicts;  
    public class Test   
    {  
       public static void Main()   
       {  
          AggPubImpAggPubImp n6 = new AggPubImpAggPubImp();  
       }  
    }  
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-12-01
      • 1970-01-01
      • 2021-10-06
      • 2022-12-26
      • 2022-12-19
      • 2012-02-03
      • 2021-02-18
      • 2022-11-20
      相关资源
      最近更新 更多