.net core 在Linux上使用Mono运行编译的F#程序

.net core 在Linux上使用Mono运行编译的F#程序,.net-core,f#,mono,.net Core,F#,Mono,我通过安装在CentOS机顶盒上的mono和fsharp $ sudo yum install mono-complete fsharp 并安装了dotnet 我用 $ fsharpc Program.fs 现在,当我尝试使用mono运行此功能时: $ mono Program.exe Can't find custom attr constructor image: /home/gbuday/ion/Program.exe mtoken: 0x0a000005 due to: Coul

我通过安装在CentOS机顶盒上的mono和fsharp

$ sudo yum install mono-complete fsharp
并安装了dotnet

我用

$ fsharpc Program.fs
现在,当我尝试使用mono运行此功能时:

$ mono Program.exe 
Can't find custom attr constructor image: /home/gbuday/ion/Program.exe mtoken: 0x0a000005 due to: Could not load file or assembly 'FSharp.Core, Version=4.5.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.

Unhandled Exception:
System.IO.FileNotFoundException: Could not load file or assembly 'FSharp.Core, Version=4.5.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.
File name: 'FSharp.Core, Version=4.5.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
[ERROR] FATAL UNHANDLED EXCEPTION: System.IO.FileNotFoundException: Could not load file or assembly 'FSharp.Core, Version=4.5.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.
File name: 'FSharp.Core, Version=4.5.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
当我运行这个

$ dotnet run Program.exe 
Hello World from F#!
它运行平稳。目前尚不清楚mono和dotnet在此设置中的关系


我能用mono运行我编译的F#代码吗?我需要它做什么?

您看到的问题是mono只与较旧的F#语言和核心库兼容,而且由于您没有较旧的版本,它在运行时会崩溃

只有在今天的F#中使用Xamarin构建移动应用时,Mono才是必要的。如果您在Linux机器上执行其他操作,我建议您使用.NET Core和.NET CLI。我建议从以下指南开始:


你也可以用一种稍微简单一点的方式(没有解决方案文件,只有一个项目)来做事情,但是链接指南将设置一种在野外的代码库中常见的文件结构。

你看到的问题是mono只与旧的F#语言和核心库兼容,由于没有旧版本,它会在运行时崩溃

只有在今天的F#中使用Xamarin构建移动应用时,Mono才是必要的。如果您在Linux机器上执行其他操作,我建议您使用.NET Core和.NET CLI。我建议从以下指南开始:

您也可以用一种稍微简单一点的方式(没有解决方案文件,只有一个项目)进行操作,但是链接指南将设置一种在野外代码库中常见的文件结构