【发布时间】:2019-07-01 12:38:53
【问题描述】:
UPD.:
我想直接从 .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.
环境:macOS、.NET Core 2.2
【问题讨论】:
-
如果您投反对票 - 请解释一下。我不明白为什么。
-
显然您需要使用
dotnet fsc.exe运行它。但是在我这样做之后,它开始抱怨Microsoft.Build.Tasks.v4.0。我不知道如何继续。 -
@ForNeVeR,但我想像 javac 一样使用 fsc。似乎没有一些黑客是不可能的。
-
@isnullxbh 请注意,F# 不会进行单独编译(即分别编译多个
.fs文件,然后将结果一起链接到输出二进制文件中),因此调用 @987654326 没有多大意义@手动。 -
在 MacO 上安装 fsc 的步骤非常好documented on the F# website。您是否尝试过那里列出的步骤?