具有异步待机和便携式的便携式类库的GetType()。IsValueType

时间:2013-03-06 18:38:00

标签: c# .net 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; }
    }
}

设置以下目标框架:

  • .net Framework 4.5
  • Sliverlight 5
  • Windows Phone 8
  • .Net for Windows Store应用

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

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

1 个答案:

答案 0 :(得分:12)

您需要安装Microsoft.Bcl.Async