Criar aplicativos F#
Neste ponto, você usou o REPL e talvez até tenha criado um arquivo de script fsx . Agora você está no ponto em que seu aplicativo cresceu, então você precisa incluir mais arquivos e a capacidade de empacotar e distribuir seu aplicativo. Para fazer isso, você precisa criar um projeto. O SDK do .NET fornece vários modelos de projeto para ajudá-lo a começar a criar todos os tipos de aplicativos.
O que são modelos .NET?
Ao instalar o SDK do .NET, você recebe mais de uma dúzia de modelos internos para criar projetos e arquivos, incluindo:
- Aplicações de consola
- Bibliotecas de classes
- Projetos de teste unitário
- Aplicações Web ASP.NET Core
- Arquivos de configuração
F# tem suporte para vários modelos, tudo, desde testes e web até bibliotecas de classe. Para obter uma lista completa dos projetos suportados, execute dotnet new -l
no console.
Criar um aplicativo usando modelos
Para criar um novo aplicativo, use o dotnet new
comando .NET CLI. Por exemplo, se você quiser criar um aplicativo de console F#, use o seguinte comando.
dotnet new console --language F# -o MyFSharpApp
Algumas conchas interpretam #
como um caráter especial. Nesse caso, coloque a língua entre aspas como tal dotnet new console --language "F#" -o MyFSharpApp
.
O dotnet new console
comando usa o modelo .NET de console interno para criar um novo aplicativo de console.
Após alguns segundos, um diretório chamado MyFSharpApp aparece com o código do seu aplicativo F#.
Estrutura do Projeto
Há dois arquivos no diretório MyFSharpApp :
- Program.fs - O ponto de entrada para a sua aplicação.
- MyFSharpApp.fsproj - Arquivo de projeto MSBuild que contém informações e instruções de compilação. MSBuild é uma plataforma para criar aplicativos que fornece um esquema XML para um arquivo de projeto que controla como a plataforma de compilação processa e cria software.
O ficheiro Program.fs contém o seguinte código:
// 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
Este aplicativo usa a biblioteca de System
classes, que é importada usando a palavra-chave open
.
A from
função usa o whom
parâmetro string para criar e formatar uma mensagem de string.
A main
função é o ponto de entrada do aplicativo. Ele usa a from
função para criar a mensagem "de F#" e vincula o valor a message
. Em seguida, usando a printfn
função, ele imprime "Hello world from F#" para o console.
Criar uma aplicação
Agora que você criou um aplicativo de console, é hora de criá-lo usando o dotnet build
comando. O dotnet build
comando constrói o projeto e suas dependências em um conjunto de binários. Os binários incluem o código do projeto em arquivos de linguagem intermediária (IL) com uma extensão .dll . Dependendo do tipo de projeto e das configurações, outros arquivos podem ser incluídos, como:
- Um executável que você pode usar para executar o aplicativo, se o tipo de projeto for um executável destinado ao .NET Core 3.0 ou posterior.
- Arquivos de símbolos usados para depuração com uma extensão .pdb .
- Um arquivo .deps.json , que lista as dependências do aplicativo ou biblioteca.
- Um arquivo .runtimeconfig.json , que especifica o tempo de execução compartilhado e sua versão para um aplicativo.
- Outras bibliotecas das quais o projeto depende (por meio de referências de projeto ou referências de pacote NuGet).
Os arquivos de saída são gravados no local padrão, que é bin/<configuration>/<target>. Debug é a configuração padrão, mas você pode substituí-la usando a --configuration
opção. O destino refere-se à estrutura de destino, que é especificada na TargetFramework
propriedade do arquivo fsproj . A estrutura de destino especifica o conjunto de APIs que você deseja disponibilizar para o aplicativo ou biblioteca. Por exemplo, se você tiver um aplicativo .NET 5 e executar dotnet build
, a saída será colocada em bin/Debug/net5.0.
Executar a aplicação
Para aplicativos que são executáveis, o dotnet run
comando fornece uma opção conveniente para executar seu aplicativo. O dotnet run
comando procura o .dll ou executável em seu diretório de saída e usa o dotnet
driver para executar o código conforme definido no ponto de entrada do aplicativo (Program.fs).
Gorjeta
Quando você usa o dotnet run
comando, dotnet build
é executado automaticamente também. Portanto, você pode salvar a si mesmo a etapa de criar explicitamente seu aplicativo.