Tworzenie aplikacji języka F#

Ukończone

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 buildpolecenie , 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.