找不到异步修饰符所需的所有类型



我得到以下两个编译器错误(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 2012 vs 11 beta,尽管已安装。我也在全新的组件中尝试了它,没有指向应用程序的XAML名称空间。

您需要在Silverlight 5中支持async

我们刚刚发布了.NET Framework 4,Silverlight 4和5和Windows Phone 7.5:http://blogs.msdn.com/b/bclteam/archive/2012/10/22/使用-Async-withOut-without-net-framework-4-5.aspx。

您不能在Visual Studio 2012中使用Asyncctp。您可以使用Async Targeting Pack(在Nuget上)用于Silverlight 5. Silverlight 4是否可以使用解决方案,不确定是否会有任何。

最新更新