Search code examples
.net-coref#f#-interactive.net-core-sdk

F# Interactive (fsi.exe) support in.Net Core SDK (v3.1.100.14727)


I want to deploy\use F# interactive as part of a .Net library which supports both .Net Framework & .Net Core - I've done this before for just .Net Framework but now I want to support .Net Core, as a way of learning more about .NET Core.

I have VS2019 with the .NET Core SDK (v3.1.100.14727) installed.

I can run fsi.exe from the VS2019 install folder:

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\Common7\IDE\CommonExtensions\Microsoft\FSharp

But I can not run fsi.exe. from the .NET Core SDK folder - not built to run on a Windows OS:

C:\Program Files\dotnet\sdk\3.1.100\FSharp

I would have thought if I have the correct version of the .Net Core runtime installed (which I do) I should be able to run any .Net Core application - is this not the case?

Do I have to deploy 2 versions of the F# Interactive to support a .Net Core implementation?


Solution

  • This just means that fsi.exe hasn't been compiled to run as a single exe but instead needs to be called via dotnet.

    ⨯ C:\Program Files\dotnet\sdk\3.1.100\FSharp 
    [00:00] ❯ dotnet .\fsi.exe

    Microsoft (R) F# Interactive version 10.7.0.0 for F# 4.7 Copyright (c) Microsoft Corporation. All Rights Reserved.

    For help type #help;;

    >

    You could wrap this or try the --targetprofile option.