本文介绍如何使用 .NET CLI 在任何作系统(Windows、macOS 或 Linux)上开始使用 F# 。 其中介绍了如何使用控制台应用程序调用的类库生成多项目解决方案。
先决条件
若要开始,必须安装最新的 .NET SDK。
本文假定你知道如何使用命令行并具有首选文本编辑器。 如果尚未使用它, Visual Studio Code 是 F# 文本编辑器的绝佳选项。
生成简单的多项目解决方案
打开命令提示符/终端,并使用 dotnet new 命令创建一个名为 FSharpSample
的新解决方案文件:
dotnet new sln -o FSharpSample
运行上一个命令后生成以下目录结构:
FSharpSample
├── FSharpSample.sln
编写类库
将目录更改为 FSharpSample。
dotnet new
使用命令在名为 Library 的 src 文件夹中创建类库项目。
dotnet new classlib -lang "F#" -o src/Library
运行上一个命令后生成以下目录结构:
└── FSharpSample
├── FSharpSample.sln
└── src
└── Library
├── Library.fs
└── Library.fsproj
将 Library.fs
的内容替换为以下代码:
module Library
open System.Text.Json
let getJson value =
let json = JsonSerializer.Serialize(value)
value, json
使用 dotnet sln add 命令将Library
项目添加到FSharpSample
解决方案:
dotnet sln add src/Library/Library.fsproj
运行 dotnet build
以生成项目。 生成时将还原未解析的依赖项。
编写使用类库的控制台应用程序
使用 dotnet new
命令在名为 App 的 src 文件夹中创建控制台应用程序。
dotnet new console -lang "F#" -o src/App
运行上一个命令后生成以下目录结构:
└── FSharpSample
├── FSharpSample.sln
└── src
├── App
│ ├── App.fsproj
│ ├── Program.fs
└── Library
├── Library.fs
└── Library.fsproj
将 Program.fs
文件的内容替换为以下代码:
open System
open Library
[<EntryPoint>]
let main args =
printfn "Nice command-line arguments! Here's what System.Text.Json has to say about them:"
let value, json = getJson {| args=args; year=System.DateTime.Now.Year |}
printfn $"Input: %0A{value}"
printfn $"Output: %s{json}"
0 // return an integer exit code
使用 dotnet reference add 添加对Library
项目的引用。
dotnet add src/App/App.fsproj reference src/Library/Library.fsproj
使用以下命令将App
项目添加到FSharpSample
解决方案:dotnet sln add
dotnet sln add src/App/App.fsproj
使用 dotnet restore
还原 NuGet 依赖项,并运行 dotnet build
以构建项目。
将目录切换到 src/App
控制台项目,然后运行项目并将 Hello World
作为参数传递进去。
cd src/App
dotnet run Hello World
应该看到以下结果:
Nice command-line arguments! Here's what System.Text.Json has to say about them:
Input: { args = [|"Hello"; "World"|] year = 2021 }
Output: {"args":["Hello","World"],"year":2021}
后续步骤
接下来,请查看 F# 教程 ,详细了解不同的 F# 功能。