F# 中的 C# 扩展方法

C# Extension methods in F#

我正在尝试使用 C# 扩展方法和 F# 中的流畅 API,但我不知道该怎么做。以下片段以Asp.Net Core RC2为例:

var host = new WebHostBuilder()
            .UseKestrel()
            .UseContentRoot(Directory.GetCurrentDirectory())
            .UseIISIntegration()
            .UseStartup<Startup>()
            .Build();

        host.Run();

我不知道如何在 F# 中使用这样的 API。如果有人有在 F# 中使用 Fluent API 的经验,也许他们可以对此有所启发。

C# 'hello world' 示例的以下翻译对我有用:

open System
open Microsoft.AspNetCore.Builder
open Microsoft.AspNetCore.Hosting
open Microsoft.AspNetCore.Http

type Startup () =
    member this.Configure(app: IApplicationBuilder) =
        app.Run(fun context -> context.Response.WriteAsync("Hello world!"))

[<EntryPoint>]
let main argv =
    let builder = new WebHostBuilder()
    let host = builder.UseKestrel().UseStartup<Startup>().Build()
    host.Run()
    0

尝试添加完整的 AspNetCore 包。

Install-Package Microsoft.AspNetCore

您很可能遗漏了一些东西。