Ответ 1
Я нацелен на платформу .NET 4.0 и не уверен, что требуются дополнительные сборки
В .NET 4.0 можно запустить код async/await
без исключения .NET 4.5, включив или коснувшись AsyncCtpLibrary.dll
из Async CTP. Невозможно установить .NET 4.5 или Visual Studio 2012 в Windows XP и .NET 4.0 без установленного .NET 4.5 отличается от .NET 4.0 с установленным .NET 4.5.
Прочитайте, например, это обсуждение:
- на форуме MSDN: "Если я нацелен на .net 4.0, но запускаю на машине с .net 4.5 будет .net 4.0 Ошибки WPF все еще существуют?"
Мне неудобно использовать Nuget на компьютере без .NET 4.5 для получения расширений для .NET 4.0, поскольку он действительно приносит совместимые пакеты либо для неправильного .NET 4.5, либо для .NET 4.0 из .NET 4.5, несовместимого с .NET 4.0 без .NET 4.5
Но ваш код имеет синтаксическую ошибку
У вас должен быть тип возврата Task<string[]>
вместо вашего Task<string>
, в объявлении метода AccessTheWebAsync()
, т.е. вы должны были написать:
public async Task<string[]> AccessTheWebAsync(Class1 class1, Class2 class2)()
вместо
public async Task<string> AccessTheWebAsync(Class1 class1, Class2 class2)()
чтобы этот метод возвращал значения типа string[]
:
return listContents;//where listContents is declared as string[] type
Update:
Проверено, что код OP запускается после этой коррекции на моей истинной платформе .NET 4.0 (без .NET 4.5 и VS2012) с операционной системой Windows XP с Async CTP
Почему мой ответ был отменен? анонимно...
Очевидно, что если OP задает такой вопрос, что у него нет .NET 4.5. Он не сможет использовать Async Targeting Pack, ссылаясь на "Async for.NET Framework 4, Silverlight 4 и 5 и Windows Phone 7.5 и 8 1.0.16 " без установки VS2012, и последнее просто невозможно на Wondows XP, при этом Nuget приносит неправильные пакеты в VS2010, несовместимые и невозможные для использования на .NET 4.0 без установленного .NET 4.5
Проверено это много раз, в контекстах контекста