Asynchronous Programming with Async and Await

前端 未结 3 1548
粉色の甜心
粉色の甜心 2020-12-19 02:08

I\'m walking through this tutorial on how to program asynchronously in c# and have come across an error I\'m not sure how to resolve. Here\'s the link: http://msdn.microsoft

相关标签:
3条回答
  • 2020-12-19 02:43

    I am targeting the .NET 4.0 framework and am unsure as to any additional assemblies required

    It is possible to run async/await code in .NET 4.0 without isntalling .NET 4.5, having included or referenced AsyncCtpLibrary.dll from Async CTP. It is impossible to install .NET 4.5 or Visual Studio 2012 on Windows XP and .NET 4.0 without .NET 4.5 installed is different from .NET 4.0 with installed .NET 4.5.
    Read, for example, this discussion:

    • on MSDN forum: "If I target .net 4.0 but run on a machine that has .net 4.5 will .net 4.0 WPF bugs still be there?"

    I disadvise to use Nuget on machine without .NET 4.5 for getting extensions for .NET 4.0 as it is really bringing compatible packs either for wrong .NET 4.5 or for .NET 4.0 from .NET 4.5 incompatible with .NET 4.0 without .NET 4.5

    But your code has a syntax error

    You should have return type Task<string[]>, instead of your Task<string>, in AccessTheWebAsync() method declaration, i.e. you should have written:

    public async Task<string[]> AccessTheWebAsync(Class1 class1, Class2 class2)()  
    

    instead of

    public async Task<string> AccessTheWebAsync(Class1 class1, Class2 class2)()
    

    in order for this method to return values of type string[]:

    return listContents;//where listContents is declared as string[] type   
    

    Update:
    Checked that OP's code run after this correction on my true .NET 4.0 (without .NET 4.5 and VS2012) Windows XP machine with Async CTP

    Why was my answer downvoted? anonymously...

    It is obvious that if OP asks such question that he does not have .NET 4.5 installed. He will not be able to use Async Targeting Pack referencing "Async for .NET Framework 4, Silverlight 4 and 5, and Windows Phone 7.5 and 8 1.0.16" without installing VS2012, anв the latter is simply impossible on Wondows XP, with Nuget bring wrong packs in VS2010 incompatible and impossible to use on .NET 4.0 without .NET 4.5 installed

    Checked it many times, in may contexts

    0 讨论(0)
  • 2020-12-19 02:43

    You have to use BCL.Async library like descriped here : Using async without .net 4.5

    0 讨论(0)
  • 2020-12-19 02:48

    Search for async in NuGet manager and install Microsoft Async to run async/await code in .net4

    0 讨论(0)
提交回复
热议问题