Visual Basic 10.0不支持异步方法或lambdas

时间:2018-09-08 20:07:02

标签: vb.net async-await .net-4.0

在以VB为目标的.NET 4.0的新项目AspNet WebForms中,出现此错误:

  

Visual Basic 10.0不支持异步方法或lambdas

代码是这样的:

<WebMethod>
Public Shared Async Function MethodNameAsync() As Task(Of String)
    Dim res As String = ""

    Try

        Dim succ = False
        Dim taskRes = Await TaskEx.Run(Async Function()
                                           Await TaskEx.Delay(10000)
                                           succ = True
                                           res = "OK"
                                           Return res
                                       End Function).ConfigureAwait(False)
        Return taskRes
    Catch ex As Exception
        res = "ERROR"
        Throw ex
    End Try

    Return res
End Function

1 个答案:

答案 0 :(得分:0)

从Nuget(Install-Package Microsoft.Bcl)安装库Microsoft.Bcl。它为您提供了异步/等待支持以及仅在更高版本的框架版本中提供的一些其他功能。

它还允许您通过使用Task.Factory.FromAsync将先前样式的异步方法(.BeginAsyncMethod-> .EndAsyncMethod)转换为可等待的Task。

在旧环境中玩转新的异步功能吧!