2013-03-07 62 views
2

我嘗試在便攜式類庫中使用Async。我用簡介104,其包括:Microsoft.Bcl.Async不起作用

  • .NET 4.5
  • Silverlight 4中
  • WP 7.5
  • 的WinRT

安裝工作和我可以使用System.Threading.Tasks但我不能編譯因爲我有這個錯誤:

Cannot await System.Threading.Task<System.Net.HttpWebResponse>

與本示例中的await一致:

public async Task<string> GetAsync(string urlToCall) 
{ 
    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(urlToCall); 
    request.Method = HttpMethod.Get; 
    HttpWebResponse response = (HttpWebResponse)await request.GetResponseAsync(); 
    using (var sr = new StreamReader(response.GetResponseStream())) 
    { 
     return sr.ReadToEnd(); 
    } 
} 

爲什麼?

更新

我的個人資料104更新MonoDroid的和MonoTouch的 我用的NuGet安裝Microsoft.Bcl.Async v 1.0.16 如果我添加AsyncBridge.Portable v 0.2.0我沒有警告的Visual Studio,但它不能編譯。 System.Attributes中的這2個庫之間存在衝突

如何使這些庫一起工作?

感謝

+0

你的代碼編譯爲我好與設置(後我取代'HttpMethod.Get'用' 「GET」')。 – svick 2013-03-07 19:26:03

+0

您在編譯時的目標是什麼.NET Framework? – 2013-03-07 19:48:18

+0

我使用這個庫與WPF項目。我發現具有相同配置文件的示例,並在我的visual studio上編譯,但它使用AsyncBridge.Portable和Microsoft.Bcl.Async。你有使用它嗎? – sbou 2013-03-08 09:06:03

回答

2

我用Bcl.async和AsyncBridge.Portable從的NuGet和我有錯誤。

如果我使用由Nuget創建的Bclasync和Daniel Plaisted創建的AsyncBridge.Portable,那沒問題。

我很想知道Daniel在做這個lib的工作嗎?

感謝,

+0

基本上,我使用AsyncBridge創建了Microsoft.Bcl.Async中相同表面區域的MonoAndroid實現。這涉及將類型轉發給Mono等價物,並根據AsyncBridge代碼實現其他類型。你有我的版本的源代碼,對不對? – 2013-03-12 00:13:34

+0

是的,我有Async.Facade,但我不明白如何使這種類型的項目PCL DLL。我想使用類型轉發在PCL庫中有System.Data.IDbConnection。在運行時我想注入System.Data.SQLite或Mono.Data.SQLite。你認爲這有可能嗎? – sbou 2013-03-12 10:48:34

+0

我建議問一個關於System.Data.IDbConnection的單獨問題,這似乎與您的Bcl.Async問題沒有直接關係。 – 2013-03-14 09:11:02