运行 FSI 中的异步计算表达式
Running async computation expression in FSI
我正在尝试 运行 FSI 中的此代码
#r @"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref.0.1\ref\net6.0\System.Net.Http.dll"
async {
let httpClient = new System.Net.Http.HttpClient()
let! response = httpClient.GetAsync("") |> Async.AwaitTask
response.EnsureSuccessStatusCode() |> ignore
return! response.Content.ReadAsStringAsync() |> Async.AwaitTask
}
我收到以下错误
Error FS0193: The module/namespace 'System.Threading.Tasks' from
compilation unit 'System.Runtime' did not contain the namespace,
module or type 'Task`1'
然而,当我将该代码粘贴到项目的文件中时,它会按预期进行编译。
我错过了什么?
我不确定您为什么会收到此错误,但您应该能够在不指定完整路径的情况下引用标准 .NET 库。
我尝试使用以下内容创建一个 F# 脚本,它运行得非常好(我仍在使用 F# 5,但我不认为这会在新版本中发生变化):
#r @"System.Net.Http.dll"
async {
let httpClient = new System.Net.Http.HttpClient()
let! response = httpClient.GetAsync("http://tomasp.net") |> Async.AwaitTask
response.EnsureSuccessStatusCode() |> ignore
return! response.Content.ReadAsStringAsync() |> Async.AwaitTask
}
|> Async.RunSynchronously
我只需要添加一个真正的 URL 来下载和 Async.RunSynchronously
实际 运行 代码。
我正在尝试 运行 FSI 中的此代码
#r @"C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref.0.1\ref\net6.0\System.Net.Http.dll"
async {
let httpClient = new System.Net.Http.HttpClient()
let! response = httpClient.GetAsync("") |> Async.AwaitTask
response.EnsureSuccessStatusCode() |> ignore
return! response.Content.ReadAsStringAsync() |> Async.AwaitTask
}
我收到以下错误
Error FS0193: The module/namespace 'System.Threading.Tasks' from compilation unit 'System.Runtime' did not contain the namespace, module or type 'Task`1'
然而,当我将该代码粘贴到项目的文件中时,它会按预期进行编译。
我错过了什么?
我不确定您为什么会收到此错误,但您应该能够在不指定完整路径的情况下引用标准 .NET 库。
我尝试使用以下内容创建一个 F# 脚本,它运行得非常好(我仍在使用 F# 5,但我不认为这会在新版本中发生变化):
#r @"System.Net.Http.dll"
async {
let httpClient = new System.Net.Http.HttpClient()
let! response = httpClient.GetAsync("http://tomasp.net") |> Async.AwaitTask
response.EnsureSuccessStatusCode() |> ignore
return! response.Content.ReadAsStringAsync() |> Async.AwaitTask
}
|> Async.RunSynchronously
我只需要添加一个真正的 URL 来下载和 Async.RunSynchronously
实际 运行 代码。