Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel wird beschrieben, wie Sie mit F# auf jedem Beliebigen Betriebssystem (Windows, macOS oder Linux) mit der .NET CLI beginnen können. Es durchläuft das Erstellen einer Multiprojektlösung mit einer Klassenbibliothek, die von einer Konsolenanwendung aufgerufen wird.
Voraussetzungen
Zunächst müssen Sie das neueste .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. Wenn Sie es noch nicht verwenden, ist Visual Studio Code eine hervorragende Option als Text-Editor für F#.
Erstellen einer einfachen Multiprojektlösung
Öffnen Sie eine Eingabeaufforderung oder ein Terminal und verwenden Sie den Befehl dotnet new, um eine neue Lösungsdatei namens FSharpSample zu erstellen.
dotnet new sln -o FSharpSample
Die folgende Verzeichnisstruktur wird nach dem Ausführen des vorherigen Befehls erstellt:
FSharpSample
├── FSharpSample.sln
Eine Klassenbibliothek erstellen
Ändern Sie Verzeichnisse in FSharpSample.
Verwenden Sie den dotnet new Befehl, um ein Klassenbibliotheksprojekt im Ordner "src " mit dem Namen "Library" zu erstellen.
dotnet new classlib -lang "F#" -o src/Library
Die folgende Verzeichnisstruktur wird nach dem Ausführen des vorherigen Befehls erstellt:
└── 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 zur FSharpSample Projektmappe hinzu, indem Sie den Befehl dotnet sln add verwenden. Mit diesem Befehl wird das Projekt der Projektmappendatei hinzugefügt, sodass die Lösung sie nachverfolgen und erstellen kann:
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 eine Konsolenanwendung im Ordner "src " mit dem Namen "App" zu erstellen.
dotnet new console -lang "F#" -o src/App
Die folgende Verzeichnisstruktur wird nach dem Ausführen des vorherigen Befehls erstellt:
└── 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 einen Verweis zum Projekt mithilfe von Librarydotnet reference add hinzu. Mit diesem Befehl wird der Datei "App.fsproj" ein <ProjectReference> Element hinzugefügt, das dem Compiler angibt, dass das App-Projekt vom Bibliotheksprojekt abhängt:
dotnet add src/App/App.fsproj reference src/Library/Library.fsproj
Der vorherige Befehl fügt der Datei "App.fsproj" den folgenden XML-Code hinzu:
<ItemGroup>
<ProjectReference Include="..\Library\Library.fsproj" />
</ItemGroup>
Tipp
Wenn Sie diesen Schritt überspringen und versuchen, das App-Projekt zu erstellen, erhalten Sie einen Kompilierungsfehler, da das Library Modul nicht gefunden wird. In diesem Fall können Sie entweder den dotnet add reference Befehl ausführen oder das <ProjectReference> oben gezeigte Element manuell zur Datei "App.fsproj" hinzufügen.
Fügen Sie das App Projekt mithilfe des FSharpSample Befehls zur dotnet sln add Lösung 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 src/App Konsolenprojektverzeichnis und führen Sie das Projekt aus, wobei Sie Hello World als Argumente übergeben.
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
Sehen Sie sich als Nächstes die Tour von F# an, um mehr über verschiedene F#-Features zu erfahren.