c#4.0和与Microsoft.Bcl.Async异步。我没有async modifiy的所有类型

时间:2012-12-11 08:56:24

标签: c#-4.0 async-await

我正在使用VS2012而我的项目是4.0,但我想使用async / await关键字,所以我安装了Microsoft.Bcl.Async。

我尝试以下列方式实现我的异步方法:

public async Task<bool> myMethodAync(int paramInteger)
{
    //my code, a simple code that return a bool. Is only an example
    if(paramInteger == 2)
    {
         return true;
    }
    else return false;

}

我收到错误,我得到了方法的名称,错误说明了这样的内容:找不到修改异步所需的所有类型。它是项目的目标是错误的版本还是缺少某些程序集的参考?

我有三个程序集的参考Microsoft.Threading.Task,Microsoft.Threading.Task.Extensions和Microsoft.Threading.Task.Extensions.Desktop,我在我的类中使用了System.Threading.task。< / p>

我还需要做什么?

感谢。

1 个答案:

答案 0 :(得分:4)

来自http://michaelmairegger.wordpress.com/2012/09/19/cannot-find-all-types-required-by-the-async-modifier/

此问题的解决方案是将以下nuGet包引用到您要使用“async”和“await”关键字的所有项目中。

<强> Microsoft.CompilerServices.AsyncTargetingPack

因此,右键点击References,然后选择Manage NuGet Packages...,然后在线搜索。您可以在名称 Visual Studio 11的异步定位包下找到该程序包。安装它,问题应该解决。