5

次の2つのコンパイラエラーが発生します(Resharper 7.0.1はエラーを報告しません):

事前定義されたタイプ'System.Runtime.CompilerServices.IAsyncStateMachine'が定義またはインポートされていません

'async'修飾子に必要なすべてのタイプが見つかりません。間違ったフレームワークバージョンをターゲットにしていますか、またはアセンブリへの参照がありませんか?

しかし、このコードはコンパイルされません:

public class Class1
{
    public Class1()
    {
        Um();
    }
    public async Task<DownloadStringCompletedEventArgs> Um()
    {
        var client = new WebClient();
        return await Observable.FromEvent<DownloadStringCompletedEventHandler, DownloadStringCompletedEventArgs>(x => client.DownloadStringCompleted += x,
                                    x => client.DownloadStringCompleted -= x);
    }
}

MSBuildは、インストールされているにもかかわらず、VS 11BetaではなくVS2012を使用していることを除いて、非同期に必要な参照をまだ検出していません。また、アプリケーションを指すxaml名前空間がない、まったく新しいアセンブリで試してみました。

4

3 に答える 3

6

Silverlight 5でサポートするには、 AsyncTargetingPackが必要です。async

于 2012-10-20T10:34:38.800 に答える
4

Async for .NET Framework 4、Silverlight 4および5、およびWindows Phone 7.5のベータ版をリリースしました:http://blogs.msdn.com/b/bclteam/archive/2012/10/22/using-async-await -without-net-framework-4-5.aspx

于 2012-10-23T16:51:05.233 に答える
1

VisualStudio2012ではAsyncCTPを使用できません。Silverlight5にはAsyncTargetingPack(NuGetで利用可能)を使用できます。Silverlight4のソリューションはまだ利用できません。解決策があるかどうかは、わかりません。

于 2012-10-20T13:06:34.607 に答える