【问题标题】:What assembly has EventProgress in it for Windows Phone 7?Windows Phone 7 的哪个程序集有 EventProgress?
【发布时间】:2013-04-06 02:40:25
【问题描述】:

我正在使用 VS2012 用 C# 编写的 Windows Phone 7 应用程序中使用基于任务的异步模式对象和方法。我已经安装了以下附加软件包来促进这一点:

  • .NET Framework 4、Silverlight 4 的异步(Microsoft.BCL.Async 版本 1.0.14-rc,预发布)
  • 适用于 .NET Framework 4、Silverlight 4 的 BCL 可移植包(Microsoft.BCL,版本 1.0.16-rc,预发行版)
  • Microsoft Build 组件(Microsoft.Bcl.Build 1.0.0.-rc,预发行版)

我能够解析 async、await、CancellationTokenSource、IProgress 和大多数其他 TAP 元素。但是,我找不到实现 IProgressEventProgress 类所需的程序集/DLL。

有谁知道如何在 Windows Phone 7.1 应用程序中正确解决 EventProgress?我知道这些软件包说 Prerelease,但它们是我能找到的最新版本。如果有人知道仍然适用于 Windows Phone 7.1 的任何更新,请告诉我)。

注意,这是我发现 EventProgress 类的文章。不幸的是,它不是 Windows Phone 7 项目:

Progress Reporting in C# 5 Async

【问题讨论】:

  • 那篇文章是关于异步功能的古代 CTP。我会尝试使用System.Progress<T>,它似乎有某种他们正在使用的 API。
  • @millimoose - 有趣的想法,但 Silverlight 4 系统单元 (Windows Phone 7.1) 似乎没有 System.Progress 类。
  • @millimoose - Microsoft.Bcl.Async 中有一个等效项,称为 Microsoft.Progress。请参阅下面 Jean 的答案,即已接受的答案。
  • 对,我不熟悉那个反向移植库,我是按照 MSDN 搜索告诉我的。
  • @RobertOschler 嗨 - 我写了那篇文章 - 很久以前!我的网站上有 .NET 4.5 RTM 的更新版本:simplygenius.netHTH

标签: c# visual-studio windows-phone-7 silverlight-4.0 async-await


【解决方案1】:

在程序集Microsoft.Threading.Tasks中有一个Microsoft.Progress<T>类,它实现了IProgress<T>。它是Microsoft.Bcl.Async 包的一部分。

【讨论】:

  • 谢谢!我的项目中确实引用了 Microsoft.Threading.Tasks、Microsoft.Threading.Tasks.Extensions、Microsoft.Threading.Tasks.Extensions.Phone。我可以在项目引用列表中看到它们,它们是 Microsoft.Bcl.Async 包的一部分。但是,虽然我可以将“使用 Microsoft”添加到我的源文件中,但如果我尝试添加“使用 Microsoft.Threading.Tasks”,它会显示命名空间 Threading 不存在。你知道为什么吗?
  • 命名空间不是程序集。程序集不是命名空间。 Progress 类的命名空间是Microsoft。您可能可以在对象资源管理器中找到它。
  • 你是对的。在.NET中忘记了这一点。通宵编程。我现在看到了,谢谢! Microsoft.Progress 是否像 EventProgress 那样在构造函数中保存上下文并在 Report 调用之前恢复上下文?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-23
  • 1970-01-01
相关资源
最近更新 更多