无法等待系统.IOobservable.C#的Rx中存在***错误



问题很简单。我从网站上找到这段代码http://rxwiki.wikidot.com/101samples#toc0在这里

 public static async void StartBackgroundWork()
        {
            Console.WriteLine("Shows use of Start to start on a background thread:");
            var o = Observable.Start(() =>
            {
                //This starts on a background thread.
                Console.WriteLine("From background thread. Does not block main thread.");
                Console.WriteLine("Calculating...");
                Thread.Sleep(1000);
                Console.WriteLine("Background work completed.");
            });
            **await o.FirstAsync();**   // subscribe and wait for completion of background operation.  If you remove await, the main thread will complete first.
            Console.WriteLine("Main thread completed.");
        }

但当我把它粘贴到我的项目中时,会出现一个错误,上面写着"无法等待系统.IObservable"。它怎么了?如何运行此代码?鉴于我对Rx和C#不太熟悉,如果这个问题太愚蠢,请原谅我。

您可能链接到的是.NET 4.0的Rx DLL,而不是.NET 4.5的。

如果您从Nuget获取软件包,请尝试使用Nuget控制台中的命令"更新软件包–重新安装"重新安装软件包。有关详细信息,请参阅:http://docs.nuget.org/consume/reinstalling-packages

您可以通过转到项目的Reference/System.Reactive.Core的属性选项卡来检查当前使用的版本,并检查"Path"属性。它应该包含"net45",如下所示:

+++\packages\Rx Core.2.2.5\lib\net45\SystemReactive.Core.dll

相关内容

  • 没有找到相关文章

最新更新