Erste Schritte mit F# mit der .NET-CLI

In diesem Artikel werden die ersten Schritte mit F# unter einem beliebigen Betriebssystem (Windows, macOS oder Linux) mit der .NET-CLI beschrieben. Dabei wird eine Projektmappe mit mehreren Projekten mit einer Klassenbibliothek erstellt, die von einer Konsolenanwendung aufgerufen wird.

Voraussetzungen

Zuerst müssen Sie das aktuelle .NET SDK installieren.

In diesem Artikel wird davon ausgegangen, dass Sie wissen, wie Sie eine Befehlszeile verwenden, und über einen bevorzugten Text-Editor verfügen. Falls Sie noch keinen bevorzugten Text-Editor haben, ist Visual Studio Code eine hervorragende Option als Text-Editor für F#.

Erstellen einer einfachen Projektmappe mit mehreren Projekten

Öffnen Sie eine Eingabeaufforderung/ein Terminal, und verwenden Sie den dotnet new-Befehl, um eine neue Projektmappendatei mit dem Namen FSharpSample zu erstellen:

dotnet new sln -o FSharpSample

Nach Ausführung des obigen Befehls wird folgende Verzeichnisstruktur erzeugt:

FSharpSample
    ├── FSharpSample.sln

Schreiben einer Klassenbibliothek

Wechseln Sie zum Verzeichnis FSharpSample.

Verwenden Sie den dotnet new-Befehl, um im Ordner src ein Klassenbibliotheksprojekt mit dem Namen „Library“ zu erstellen.

dotnet new classlib -lang "F#" -o src/Library

Nach Ausführung des obigen Befehls wird folgende Verzeichnisstruktur erzeugt:

└── FSharpSample
    ├── FSharpSample.sln
    └── src
        └── Library
            ├── Library.fs
            └── Library.fsproj

Ersetzen Sie den Inhalt von Library.fs durch den folgenden Code.

module Library

open System.Text.Json

let getJson value =
    let json = JsonSerializer.Serialize(value)
    value, json

Fügen Sie das Library-Projekt mit dem Befehl dotnet sln add zur FSharpSample-Projektmappe hinzu:

dotnet sln add src/Library/Library.fsproj

Führen Sie dotnet build aus, um das Projekt zu erstellen. Nicht aufgelöste Abhängigkeiten werden bei der Erstellung wiederhergestellt.

Schreiben einer Konsolenanwendung, die die Klassenbibliothek verwendet

Verwenden Sie den dotnet new-Befehl, um im Ordner src eine Konsolenanwendung mit dem Namen „App“ zu erstellen.

dotnet new console -lang "F#" -o src/App

Nach Ausführung des obigen Befehls wird folgende Verzeichnisstruktur erzeugt:

└── FSharpSample
    ├── FSharpSample.sln
    └── src
        ├── App
        │   ├── App.fsproj
        │   ├── Program.fs
        └── Library
            ├── Library.fs
            └── Library.fsproj

Ersetzen Sie den Inhalt der Datei Program.fs durch den folgenden Code:

open System
open Library

[<EntryPoint>]
let main args =
    printfn "Nice command-line arguments! Here's what System.Text.Json has to say about them:"

    let value, json = getJson {| args=args; year=System.DateTime.Now.Year |}
    printfn $"Input: %0A{value}"
    printfn $"Output: %s{json}"

    0 // return an integer exit code

Fügen Sie mit dotnet add reference einen Verweis auf das Library-Projekt hinzu.

dotnet add src/App/App.fsproj reference src/Library/Library.fsproj

Fügen Sie das App-Projekt mit dem Befehl dotnet sln add zur FSharpSample-Projektmappe hinzu:

dotnet sln add src/App/App.fsproj

Stellen Sie die NuGet-Abhängigkeiten mit dotnet restore wieder her, und führen Sie dotnet build aus, um das Projekt zu erstellen.

Wechseln Sie zum Verzeichnis src/App des Konsolenprojekts, und führen Sie das Projekt mit Übergabe von Hello World als Argument aus:

cd src/App
dotnet run Hello World

Die Ergebnisse sollten wie folgt aussehen:

Nice command-line arguments! Here's what System.Text.Json has to say about them:
Input: { args = [|"Hello"; "World"|] year = 2021 }
Output: {"args":["Hello","World"],"year":2021}

Nächste Schritte

Lesen Sie als Nächstes die Einführung in F# durch, um mehr über die verschiedenen F#-Features zu erfahren.