错误 CS0433 类型“Task”存在于 System.Threading 和 mscorlib 中

Error CS0433 The type 'Task' exists in both System.Threading and mscorlib

提问人:don 提问时间:12/20/2015 最后编辑:Caleb Kleveterdon 更新时间:12/24/2015 访问量:6727

问:

我在此代码中遇到错误:

  public async Task SendEmailsTask(List<string> emails)
    {
        for (int i = 0; i < emails.Count; i++)
        {

                await Task.Delay(5000);
        }
    }

这是错误:

Severity    Code    Description Project File    Line    Source  Suppression State Error CS0433  The type 'Task' exists in both 'System.Threading, Version=1.0.2856.102, Culture=neutral, PublicKeyToken=31bf3856ad364e35' and 'mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'
C# 命名空间

评论

0赞 Sami 12/20/2015
您引用的是哪些命名空间?
0赞 don 12/20/2015
使用 myAlias = System.Threading;
0赞 Sami 12/20/2015
这也可能会有所帮助:stackoverflow.com/questions/15408142/......
0赞 Sami 12/20/2015
我根本找不到对 in 命名空间的引用。应该是吗?TaskSystem.ThreadingSystem.Threading.Tasks
5赞 Hans Passant 12/20/2015
不应使用 System.Threading.dll,它旨在向面向 .NET 3.5 的应用添加任务支持。不清楚它来自哪里,可能是一个糟糕的 Nuget 包。尝试通过简单地将其从项目的 References 中删除来取得成功。

答:

-2赞 Sami 12/20/2015 #1

编译器不知道您指的是哪个任务,因为它存在于两个库中。使用完整的类名 () 或为命名空间指定别名System.Threading.Task SendEmailsTask

using myAlias = System.Threading.Tasks;

并将其引用为

public async myAlias.Task SendEmailsTask