4

I am using VS2012 and my project is 4.0, but I want to use the async/await keywords, so I install Microsoft.Bcl.Async.

I try to implement my async method in the following way:

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;

}

I get an error and I get marked the name of the method and the error says something like this: it is not find all the types needed for the modify async. is it the target of the project a wrong version or is it missing the reference for some assembly?

I have the reference for the three assemblies Microsoft.Threading.Task, Microsoft.Threading.Task.Extensions and Microsoft.Threading.Task.Extensions.Desktop and I have the using in my class, System.Threading.task.

What else I need to do?

Thanks.

4

1 に答える 1

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...、オンラインで検索してください。Async Targeting Pack for Visual Studio 11という名前でパッケージを見つけることができます。それをインストールすると、問題は解決するはずです。

于 2012-12-11T09:02:24.353 に答える