c#4.0并与Microsoft.Bcl.Async异步。我没有用于异步修改的所有类型

Álv*_*cía 4 async-await c#-4.0

我正在使用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;

}
Run Code Online (Sandbox Code Playgroud)

我收到一个错误,并被标记为方法的名称,并且该错误表明类似以下内容:找不到修改异步所需的所有类型。是项目的目标版本错误还是缺少某些程序集的参考?

我有三个程序集Microsoft.Threading.Task,Microsoft.Threading.Task.Extensions和Microsoft.Threading.Task.Extensions.Desktop的引用,并且在类System.Threading.task中有使用。

我还需要做什么?

谢谢。

Ale*_*ici 5

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

解决此问题的方法是在您要使用'async'和'await'关键字的所有项目中引用以下nuGet软件包。

Microsoft.CompilerServices.AsyncTargetingPack

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