Dot-Net

如何在 dotnet core 中執行 F# 互動式(fsi.exe)?還支持嗎?

  • September 5, 2016

我無法在 Windows 或 dotnetcore 上的 linux 中執行 find/run fsi.exe。它無處可尋。也許它還不支持?

如果我錯了,請糾正我,但是,今天(19 年 12 月)

f# 與 netcore 互動在 Ubuntu 18.04中使用來自https://docs.microsoft.com/en-us/dotnet/core/install

的標準安裝說明

/linux-package-manager-ubuntu-1904

和<https://fsharp.org/use/linux/>

// file: runtime.fsx
open System
open System.Reflection
open System.Runtime
open System.Linq

Type.GetType("Mono.Runtime")
|&gt; printf "Mono.Runtime: %A\n"
(Assembly.GetEntryAssembly().GetCustomAttributesData()
        .FirstOrDefault((fun a -&gt; 
           a.AttributeType = typedefof&lt;Versioning.TargetFrameworkAttribute&gt;)))
        .ConstructorArguments
|&gt; printf "Framework: %A\n"
$ fsi runtime.fsx 
Mono.Runtime: Mono.Runtime
Framework: seq [".NETFramework,Version=v4.6"]

$ dotnet fsi runtime.fsx 
Mono.Runtime: &lt;null&gt;
Framework: seq [".NETCoreApp,Version=v2.1"]

F# for CoreCLR Status表示 CoreCLR 上的 FSI 是完整的,所以如果有人能找到它,它可能會起作用。

在另一張票中——為什麼要刪除 C# 和 F# REPL,何時/如何將其“作為單獨的工具”實現?- 據稱它dotnet repl fsi曾經可以工作,但被刪除以支持(尚不存在的)單獨的包。

引用自:https://stackoverflow.com/questions/39328342