如何在 .NET Core 上直接调用 F# 编译器?

isn*_*xbh 5 .net f# fsc .net-core

更新:

我想直接从 .NET Core SDK 调用 F# 编译器(即 fsc)。

我知道 dotnet build & co,但是当我只需要编译一个简单的问题时,我不想涉及它们,即在 fsc file.fs 就足够的情况下。

我尝试在 .NET Core SDK 中搜索(在我的 Mac 上,它在 /usr/local/share/dotnet/sdk/2.2.102/FSharp 中)并在那里找到了一个 fsc.exe 文件。不幸的是,当我尝试使用 dotnet /usr/local/share/dotnet/sdk/2.2.102/FSharp/fsc.exe 启动它时,它给了我一个错误:

error FS0193: Could not load file or assembly 'Microsoft.Build.Tasks.v4.0, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. The system cannot find the file specified.
Run Code Online (Sandbox Code Playgroud)

环境:macOS,.NET Core 2.2

sdg*_*sdh 6

可能不想fsc直接调用,因为dotnet buildfsproj是构建项目的首选方式。

如果您必须这样做,那么可以在 SDK 文件中找到它:

dotnet /usr/share/dotnet/sdk/5.0.100/FSharp/fsc.exe
Run Code Online (Sandbox Code Playgroud)

用于dotnet --list-sdks查找 SDK 的完整路径。