带有异步等待和GetType()的可移植类库.IsValueType

jai*_*mie 10 .net c# async-await portable-class-library

我需要在同一个可移植类库中进行以下调用:

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; }
    }
}
Run Code Online (Sandbox Code Playgroud)

设置以下目标框架:

  • .net Framework 4.5
  • 银光5
  • Windows Phone 8
  • .Net for Windows Store应用程序

我得到此构建错误:
找不到'async'修饰符所需的所有类型.您是否针对错误的框架版本,或缺少对程序集的引用?

我试图安装bcl但仍然得到相同的错误.如果我删除Sliverlight目标异步工作,但我失去了Type类的IsValueType道具...

Ste*_*ary 12

您需要安装Microsoft.Bcl.Async.