Skapa F#-program
Nu har du använt REPL och kanske till och med skapat en fsx-skriptfil . Nu är du på den punkt där ditt program har vuxit så du måste inkludera fler filer och möjligheten att paketera och distribuera ditt program. För att göra det måste du skapa ett projekt. .NET SDK innehåller olika projektmallar som hjälper dig att komma igång med att skapa alla typer av program.
Vad är .NET-mallar?
När du installerar .NET SDK får du över ett dussin inbyggda mallar för att skapa projekt och filer, inklusive:
- Konsolappar
- Klassbibliotek
- Enhetstestprojekt
- ASP.NET Core-webbappar
- Konfigurationsfiler
F# har stöd för olika mallar, allt från testning och webb till klassbibliotek. En fullständig lista över projekt som stöds finns dotnet new -l
i konsolen.
Skapa ett program med hjälp av mallar
Om du vill skapa ett nytt program använder du dotnet new
.NET CLI-kommandot. Om du till exempel vill skapa ett F#-konsolprogram använder du följande kommando.
dotnet new console --language F# -o MyFSharpApp
Vissa gränssnitt tolkas #
som ett specialtecken. I så fall omsluter du språket med citattecken som till exempel dotnet new console --language "F#" -o MyFSharpApp
.
Kommandot dotnet new console
använder den inbyggda .NET-konsolen för att skapa en ny konsolapp.
Efter några sekunder visas en katalog med namnet MyFSharpApp med koden för ditt F#-program.
Projektstruktur
Det finns två filer i katalogen MyFSharpApp :
- Program.fs – startpunkten för ditt program.
- MyFSharpApp.fsproj – MSBuild-projektfil som innehåller bygginformation och instruktioner. MSBuild är en plattform för att skapa program som tillhandahåller ett XML-schema för en projektfil som styr hur byggplattformen bearbetar och bygger programvara.
Filen Program.fs innehåller följande 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
Det här programmet använder System
klassbiblioteket, som importeras med hjälp av nyckelordet open
.
Funktionen from
använder whom
strängparametern för att skapa och formatera ett strängmeddelande.
Funktionen main
är startpunkten för programmet. Den använder from
funktionen för att skapa meddelandet "från F#" och binder värdet till message
. Med funktionen skriver den printfn
sedan ut "Hello world from F#" till konsolen.
Skapa ett program
Nu när du har skapat ett konsolprogram är det dags att skapa det med kommandot dotnet build
. Kommandot dotnet build
skapar projektet och dess beroenden i en uppsättning binärfiler. Binärfilerna innehåller projektets kod i IL-filer (Intermediate Language) med ett .dll-tillägg . Beroende på projekttyp och inställningar kan andra filer inkluderas, till exempel:
- En körbar fil som du kan använda för att köra programmet, om projekttypen är en körbar fil för .NET Core 3.0 eller senare.
- Symbolfiler som används för felsökning med ett .pdb-tillägg .
- En .deps.json fil som visar beroenden för programmet eller biblioteket.
- En .runtimeconfig.json fil som anger den delade körningen och dess version för ett program.
- Andra bibliotek som projektet är beroende av (via projektreferenser eller NuGet-paketreferenser).
Utdatafiler skrivs till standardplatsen, som är bin/<configuration>/<target>. Felsökning är standardkonfigurationen, men du kan åsidosätta den med hjälp av --configuration
alternativet . Målet refererar till målramverket, som anges i TargetFramework
egenskapen för fsproj-filen . Målramverket anger den uppsättning API:er som du vill göra tillgängliga för appen eller biblioteket. Om du till exempel har ett .NET 5-program och kör dotnet build
placeras utdata i bin/Debug/net5.0.
Köra ditt program
För program som kan köras dotnet run
är kommandot ett praktiskt alternativ för att köra programmet. Kommandot dotnet run
söker efter .dll eller körbar i utdatakatalogen dotnet
och använder drivrutinen för att köra koden enligt definitionen i programmets startpunkt (Program.fs).
Dricks
När du använder dotnet run
kommandot dotnet build
körs även automatiskt. Därför kan du spara steget att uttryckligen skapa ditt program.