1

我在使用VS2012編寫的C#中編寫的Windows Phone 7應用程序中使用基於任務的異步模式對象和方法。我已經安裝了以下額外的軟件包來促進這一:什麼程序集在Windows Phone 7中具有EventProgress?

  • 爲異步的.NET Framework 4,Silverlight 4中(Microsoft.BCL.Async版本1.0.14-RC,預發行)
  • BCL便攜包.NET Framework 4中,Silverlight 4中(Microsoft.BCL,版本1.0.16-RC,預發行)
  • 微軟構建組件(Microsoft.Bcl.Build 1.0.0.-RC,預發行)

我能解決async,await,CancellationTokenSource,IProgress,和大多數其他TAP元素。然而,我找不到EventProgress類實現IProgress必要的程序集/ DLL。

有誰知道我可以如何獲得EventProgress在Windows Phone 7.1應用程序中正確解析?我知道這些軟件包說售前但它們是我能找到的最新版本。如果任何人知道任何新的仍然適用於Windows Phone 7.1,請讓我知道)。

請注意,這是我發現EventProgress類的文章。不幸的是,它不是一個Windows Phone 7的項目:

Progress Reporting in C# 5 Async

+0

該文章是關於異步功能的*古代* CTP。我會嘗試使用['System.Progress '](http://msdn.microsoft.com/en-us/library/hh193692.aspx),它似乎有一種API的類型,他們是使用。 – millimoose 2013-04-06 03:08:06

+0

@millimoose - 有趣的想法,但Silverlight 4 System單元(Windows Phone 7.1)似乎沒有System.Progress類。 – 2013-04-06 03:24:08

+0

@millimoose - 在Microsoft.Bcl.Async中有一個名爲Microsoft.Progress <>的對象。接受答案見Jean的答案。 – 2013-04-06 13:01:04

回答

4

還有就是Microsoft.Progress<T>類裝配Microsoft.Threading.Tasks,它實現了IProgress<T>。它是Microsoft.Bcl.Async包的一部分。

+0

謝謝!我確實有Microsoft.Threading.Tasks,Microsoft.Threading.Tasks.Extensions,Microsoft.Threading.Tasks.Extensions.Phone在我的項目中引用。我可以在項目引用列表中看到它們,它們是Microsoft.Bcl.Async包的一部分。但是,雖然我可以在源文件中添加「使用Microsoft」,但如果嘗試添加「使用Microsoft.Threading.Tasks」,則表示命名空間線程不存在。你知道爲什麼嗎? – 2013-04-06 12:09:20

+1

命名空間不是程序集。程序集不是名稱空間。 「Progress」類的命名空間是「Microsoft」。你可以在objet瀏覽器中找到它。 – 2013-04-06 12:14:07

+0

你說得對。在.NET中忘記了這一點。整夜編程。我現在看到它,謝謝!在諸如EventProgress之類的報告調用之前,Microsoft.Progress是否將構建上下文並保存上下文並恢復上下文? – 2013-04-06 12:17:23

相關問題