2013-04-17 75 views
4

我下載Async CTP並安裝它自己的計算機,同時具有VS 2010和VS 2012的安裝似乎已成功完成(沒有錯誤)上。異步CTP在VS 2010 SP1中不起作用?

我創建了一個全新的WinForms項目(語言:VB.NET),並用Async裝飾了Form_Load。

問題是Async關鍵字無法識別。有沒有人設法使其工作,以及如何?

做在VS 2012是相同的,針對.NET框架4.5的作品。

注:我不需要任何的Silverlight的Windows Phone甚至網站在這個時候。

+0

我在C#項目試圖爲好,這似乎是無關的語言。 – Neolisk

+0

我也試過[如何安裝異步定位包?](http://tribunatek.blogspot.ca/2012/10/how-to-install-async-targeting-pack.html),它告訴你可以安裝異步通過Nuget在VS 2010上進行定向打包 - 異步無法識別。我在VS 2012上成功安裝了相同的目標套件。 – Neolisk

+0

由於您的VS2012需要安裝.NET 4.5,這是一個就地升級到.NET 4.0,所以您不可能安裝ASYNC CTP,我感到震驚,它。 –

回答

2

根據@Ramhound的建議,我卸載了與VS 2012和2010相關的所有內容,然後安裝了2010 + SP1 +應用的Async CTP3。正確安裝Async CTP3會顯示歡迎屏幕並提示重新啓動。之後,VS 2010開始支持async關鍵字。然而,爲全面支持,則需要從這裏引用一個相應的庫(依賴於平臺):

c:\Users\%username%\Documents\Microsoft Visual Studio Async CTP\Samples\ 

對我來說,這是AsyncCtpLibrary.dll。否則,它會突出顯示語法,但不會編譯。

+0

可能是使用'異步/ await'發佈你的.NET 4.0的應用程序,而無需.NET 4.5安裝,更有助於理解,沒有必要安裝'異步CTP'(或.NET 4.5)或引用的DLL中' \ Samples'目錄,但只需將'AsyncCtpLibrary.dll'包含在您的項目/應用程序中 –

0

我在Asynchronous Programming with Async and Await中回答了這個問題,以及是否在不安裝.NET 4.5的情況下使用更多C#5.0功能。/VS2012(這在Winfows XP中是不可能的),而不是我在Where can I find a TPL dataflow version for 4.0?的回答中的async/await

請注意,已安裝.NET 4.5的計算機上的.NET 4.0與.NET 4.0不同,安裝了.NET 4.5 換句話說,您不能reliably develop and test .NET 4.0 applications on machine with installed .NET 4.5。後者是獨立於wherher你安裝的擴展或不

1

應該沒有必要做這個。

您已經安裝了VS2012,它已完全支持async/await。您可以install Microsoft.Bcl.Async在底層平臺(包括.NET 4.0)上獲得async/await支持。

+0

在那些只有VS 2010可用或更受歡迎的情況下(例如,由於VS 2012與WinForms的穩定性問題),「AsyncCtpLibrary」是唯一的方法。然而,當你還安裝了VS 2012時,知道有選擇是很好的。我不知道'Bcl.Async'。感謝和+1。 – Neolisk

+0

@Stephen Cleary,2010年不支持Microsoft.Bcl.Async,根據鏈接中的文檔 – toddmo