Tworzenie aplikacji języka F#
W tym momencie użyto środowiska REPL, a może nawet utworzono plik skryptu fsx . Teraz jesteś w momencie, w którym twoja aplikacja wzrosła, więc musisz uwzględnić więcej plików oraz możliwość tworzenia pakietów i dystrybuowania aplikacji. W tym celu należy utworzyć projekt. Zestaw .NET SDK udostępnia różne szablony projektów, które ułatwiają rozpoczęcie tworzenia wszystkich typów aplikacji.
Co to są szablony platformy .NET?
Podczas instalowania zestawu SDK platformy .NET otrzymujesz kilkanaście wbudowanych szablonów do tworzenia projektów i plików, w tym:
- Aplikacje konsolowe
- Biblioteki klas
- Projekty testów jednostkowych
- Aplikacje internetowe platformy ASP.NET Core
- Pliki konfiguracji
Język F# obsługuje różne szablony, od testowania i internetu po biblioteki klas. Aby uzyskać pełną listę obsługiwanych projektów, uruchom dotnet new -l
polecenie w konsoli programu .
Tworzenie aplikacji przy użyciu szablonów
Aby utworzyć nową aplikację, użyj polecenia interfejsu wiersza polecenia platformy dotnet new
.NET. Jeśli na przykład chcesz utworzyć aplikację konsolową języka F#, użyj następującego polecenia.
dotnet new console --language F# -o MyFSharpApp
Niektóre powłoki interpretują #
jako znak specjalny. W takim przypadku należy ująć język w cudzysłowy, takie jak dotnet new console --language "F#" -o MyFSharpApp
.
Polecenie dotnet new console
używa wbudowanego szablonu konsoli .NET do tworzenia szkieletu nowej aplikacji konsolowej.
Po kilku sekundach zostanie wyświetlony katalog o nazwie MyFSharpApp z kodem aplikacji F#.
Struktura projektu
W katalogu MyFSharpApp znajdują się dwa pliki:
- Program.fs — punkt wejścia dla aplikacji.
- MyFSharpApp.fsproj — plik projektu MSBuild zawierający informacje o kompilacji i instrukcje. MSBuild to platforma do tworzenia aplikacji, które udostępniają schemat XML dla pliku projektu, który kontroluje sposób przetwarzania i kompilowania oprogramowania platformy kompilacji.
Plik Program.fs zawiera następujący kod:
// Learn more about F# at https://learn.microsoft.com/dotnet/fsharp
open System
// Define a function to construct a message to print
let from whom =
sprintf "from %s" whom
[<EntryPoint>]
let main argv =
let message = from "F#" // Call the function
printfn "Hello world %s" message
0 // return an integer exit code
Ta aplikacja używa System
biblioteki klas, która jest importowana przy użyciu słowa kluczowego open
.
Funkcja from
używa parametru string do utworzenia whom
i sformatowania komunikatu ciągu.
Funkcja main
jest punktem wejścia aplikacji. Używa from
funkcji , aby utworzyć komunikat "z języka F#" i powiązać wartość z message
. Następnie przy użyciu funkcji wyświetla komunikat "Hello world from F#" (Witaj printfn
świecie z języka F#) do konsoli programu .
Tworzenie aplikacji
Po utworzeniu aplikacji konsolowej nadszedł czas, aby skompilować ją przy użyciu dotnet build
polecenia . Polecenie dotnet build
kompiluje projekt i jego zależności w zestawie plików binarnych. Pliki binarne zawierają kod projektu w plikach języka pośredniego (IL) z rozszerzeniem .dll . W zależności od typu i ustawień projektu mogą być uwzględniane inne pliki, takie jak:
- Plik wykonywalny, którego można użyć do uruchomienia aplikacji, jeśli typ projektu jest plikiem wykonywalnym przeznaczonym dla platformy .NET Core 3.0 lub nowszej.
- Pliki symboli używane do debugowania z rozszerzeniem .pdb .
- Plik .deps.json zawierający listę zależności aplikacji lub biblioteki.
- Plik .runtimeconfig.json, który określa środowisko uruchomieniowe udostępnione i jego wersję dla aplikacji.
- Inne biblioteki, od których zależy projekt (za pośrednictwem odwołań do projektu lub odwołań do pakietów NuGet).
Pliki wyjściowe są zapisywane w domyślnej lokalizacji, czyli bin/<configuration>/<target>. Debugowanie jest konfiguracją domyślną, ale można ją zastąpić przy użyciu --configuration
opcji . Obiekt docelowy odnosi się do struktury docelowej, która jest określona we TargetFramework
właściwości pliku fsproj . Platforma docelowa określa zestaw interfejsów API, które mają być dostępne dla aplikacji lub biblioteki. Jeśli na przykład masz aplikację .NET 5 i uruchamiasz dotnet build
polecenie , dane wyjściowe są umieszczane w bin/Debug/net5.0.
Uruchamianie aplikacji
W przypadku aplikacji, które są wykonywalne, dotnet run
polecenie zapewnia wygodną opcję uruchamiania aplikacji. Polecenie dotnet run
wyszukuje .dll lub plik wykonywalny w katalogu wyjściowym i używa dotnet
sterownika do wykonania kodu zdefiniowanego w punkcie wejścia aplikacji (Program.fs).
Napiwek
Jeśli używasz dotnet run
polecenia, dotnet build
jest również uruchamiane automatycznie. W związku z tym możesz zapisać sobie krok jawnego kompilowania aplikacji.