Vytváření aplikací jazyka F#
V tuto chvíli jste použili REPL a možná jste dokonce vytvořili soubor skriptu fsx . Teď jste v okamžiku, kdy vaše aplikace roste, takže potřebujete zahrnout více souborů a možnost zabalit a distribuovat aplikaci. K tomu je potřeba vytvořit projekt. Sada .NET SDK poskytuje různé šablony projektů, které vám pomůžou začít sestavovat všechny typy aplikací.
Co jsou šablony .NET?
Při instalaci sady .NET SDK získáte více než desítky předdefinovaných šablon pro vytváření projektů a souborů, včetně následujících:
- Aplikace konzoly
- Knihovny tříd
- Projekty testování jednotek
- Webové aplikace ASP.NET Core
- Konfigurační soubory
Jazyk F# podporuje různé šablony, vše od testování a webu až po knihovny tříd. Úplný seznam podporovaných projektů zobrazíte spuštěním dotnet new -l
v konzole.
Vytvoření aplikace pomocí šablon
K vytvoření nové aplikace použijte dotnet new
příkaz .NET CLI. Pokud například chcete vytvořit konzolovou aplikaci jazyka F#, použijte následující příkaz.
dotnet new console --language F# -o MyFSharpApp
Některá prostředí se interpretují #
jako speciální znak. V takovém případě uzavřete jazyk do uvozovek, jako je například dotnet new console --language "F#" -o MyFSharpApp
.
Příkaz dotnet new console
používá předdefinované konzolové šablony .NET k vygenerování nové konzolové aplikace.
Po několika sekundách se zobrazí adresář MyFSharpApp s kódem pro vaši aplikaci F#.
Struktura projektu
V adresáři MyFSharpApp jsou dva soubory:
- Program.fs – vstupní bod aplikace.
- MyFSharpApp.fsproj – soubor projektu MSBuild, který obsahuje informace o sestavení a pokyny. MSBuild je platforma pro vytváření aplikací, která poskytuje schéma XML pro soubor projektu, který řídí, jak sestavení platformy zpracovává a vytváří software.
Soubor Program.fs obsahuje následující kód:
// 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
Tato aplikace používá knihovnu System
tříd, která je importována pomocí klíčového open
slova.
Funkce from
pomocí parametru whom
string vytvoří a naformátuje řetězcovou zprávu.
Funkce main
je vstupním bodem aplikace. Pomocí from
funkce vytvoří zprávu "z jazyka F#" a vytvoří vazbu hodnoty na message
. Potom pomocí printfn
funkce vytiskne "Hello world z F#" do konzoly.
Sestavení aplikace
Teď, když jste vytvořili konzolovou aplikaci, je čas ji sestavit pomocí dotnet build
příkazu. Příkaz dotnet build
sestaví projekt a jeho závislosti do sady binárních souborů. Binární soubory zahrnují kód projektu v souborech IL (Intermediate Language) s příponou .dll . V závislosti na typu a nastavení projektu můžou být zahrnuty i další soubory, například:
- Spustitelný soubor, který můžete použít ke spuštění aplikace, pokud je typ projektu spustitelný soubor určený pro .NET Core 3.0 nebo novější.
- Soubory symbolů používané k ladění s příponou .pdb .
- Soubor .deps.json , který obsahuje závislosti aplikace nebo knihovny.
- Soubor .runtimeconfig.json , který určuje sdílený modul runtime a jeho verzi pro aplikaci.
- Další knihovny, na které projekt závisí (prostřednictvím odkazů na projekt nebo odkazů na balíčky NuGet).
Výstupní soubory se zapisují do výchozího umístění, což je bin/<configuration>/<target>. Ladění je výchozí konfigurace, ale můžete ji přepsat pomocí --configuration
této možnosti. Cíl odkazuje na cílovou architekturu, která je určena ve TargetFramework
vlastnosti souboru fsproj . Cílová architektura určuje sadu rozhraní API, která chcete zpřístupnit aplikaci nebo knihovně. Pokud máte například aplikaci .NET 5 a spustíte dotnet build
ji, výstup se umístí do bin/Debug/net5.0.
Spusťte aplikaci
Pro aplikace, které jsou spustitelné, dotnet run
poskytuje příkaz praktickou možnost spuštění aplikace. Příkaz dotnet run
vyhledá ve výstupním adresáři .dll nebo spustitelný soubor a pomocí dotnet
ovladače spustí kód definovaný v vstupním bodu aplikace (Program.fs).
Tip
Když použijete dotnet run
tento příkaz, dotnet build
spustí se také automaticky. Proto si můžete uložit krok explicitního sestavení aplikace.