首页 > 解决方案 > 如何在 Mac 终端上运行从 F# 源编译的 EXE 文件?

问题描述

我在 F# 中有一个 hello world 程序。

open System

[<EntryPoint>]
let main argv =
    printfn "Hello World from F#!"
    0 // return an integer exit code%

在 Mac OS 上,我可以用“fsharpc”编译它,它会生成两个文件

FSharp.Core.dll hello.exe

EXE 文件在 Mac 上看起来很奇怪。但是我怎样才能从命令行执行它,而不使用项目结构(因为它看起来有点矫枉过正),就像这里解释的那样:https ://dotnet.microsoft.com/learn/languages/fsharp-hello-world-tutorial /创造

实际上,如果我运行“dotnet hello.exe”,我会收到以下错误:

遇到致命错误。在“/Users/zell/hello/”中找不到执行应用程序所需的库“libhostpolicy.dylib”。无法作为独立应用程序运行。如果这应该是一个依赖于框架的应用程序,请添加指定适当框架的 /Users/zell/hello/hello.runtimeconfig.json 文件。

标签: command-linef#

解决方案


您可以像这样创建和构建/运行 F# 应用程序:

dotnet new console -lang F# -o SomeDirectory && cd SomeDirectory
dotnet run

在不运行的情况下构建它是:

dotnet build

您可以在此处查看所有命令的参考:https ://docs.microsoft.com/en-us/dotnet/core/tools/dotnet

您似乎安装了 Mono,这就是它的fsharpc来源。我不建议使用它,除非您正在使用 Xamarin 进行移动开发,而 Xamarin 目前需要 Mono。


推荐阅读