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



在一个新的项目中,AspNet WebForms with VB面向.NET 4.0,我得到了这个错误:

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

代码是这样的:

<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

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

它还允许您转换以前样式的异步方法 (.开始异步方法 -> .EndAsyncMethod( 通过使用 Task.Factory.FromAsync 到可等待的任务。

在旧环境中享受新的异步功能的乐趣!

最新更新