我很想使用F#4.6匿名记录,但是编译器似乎并没有“得到它”。如何指定使用4.6?我已经尝试了很多谷歌搜索,但是没有关于如何实际告诉编译器使用最新版本(?)的文档。
开始一个新的open System
[<EntryPoint>]
let main argv =
let myrec = {| X=3; Y=4 |}
printfn "Hello World from F#! test %A" myrec
0 // return an integer exit code
,并尝试做一个虚拟的例子:
src/App/Program.fs(5,18): error FS0010: Unexpected symbol '|' in expression [src/App/App.fsproj]
src/App/Program.fs(5,17): error FS0604: Unmatched '{' [src/App/App.fsproj]
不起作用,因为:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp2.2</TargetFramework>
</PropertyGroup>
<ItemGroup>
<Compile Include="Program.fs" />
</ItemGroup>
</Project>
我的App.fsproj:
{{1}}
答案 0 :(得分:1)
结果证明是我的 .NET Core运行时,它远远落后了。由于未针对MacOS发出警告,我没有安装最新版本,但现在我看到您需要MacOS不稳定版本才能支持F#4.6。
解决方案是直接转到https://dotnet.microsoft.com/download/dotnet-core/2.2并安装最新版本!