10

同じポータブル クラス ライブラリ内で可能な次の呼び出しが必要です。

public class Foobar
{
    void Foo()
    {
        var b = GetType().IsValueType; //<-- 2
    }

    async Task<IEnumerable<T>> Bar<T>() 
        where T : class, IBaz, new()
    {
        return await Task.Factory.StartNew(() => new List<T>(new[]   //<-- 1
            {
                new T {Qux = Guid.NewGuid().ToString()}
            }));
    }

    interface IBaz 
    {
        string Qux { get; set; }
    }
}

次のターゲット フレームワークを設定します。

  • .net フレームワーク 4.5
  • スライバーライト 5
  • Windows Phone 8
  • Windows ストア アプリ用の .Net

このビルド エラーが表示されます:
「async」修飾子に必要なすべての型が見つかりません。ターゲットとしているフレームワークのバージョンが間違っているか、アセンブリへの参照がありませんか?

bclをインストールしようとしましたが、それでも同じエラーが発生します。そして、Sliverlight ターゲットを削除すると、非同期は機能しますが、Type クラスから IsValueType プロパティが失われます...

4

1 に答える 1

12

Microsoft.Bcl.Asyncをインストールする必要があります。

于 2013-03-06T18:52:30.240 に答える