4

我使用的是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 中有使用。

我还需要做什么?

谢谢。

4

1 回答 1

5

来自 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...,然后在线搜索。您可以在Async Targeting Pack for Visual Studio 11的名称下找到该包。安装它,问题应该得到解决。

于 2012-12-11T09:02:24.353 回答