如何使用多个模块在 linux 中编译 c sharp 控制台应用程序(如何定义 fs 文件的顺序?)

How to compile fsharp console application in linux with mutliple modules (how to define order of fs files?)

如何从控制台使用 fsharpc 在 linux 中编译 fsharp 应用程序?

我有多个模块,应用程序的入口点在 Program.fs 文件中,采用经典的控制台应用程序样式:

open module A
open module B
open module C

[<EntryPoint>]
    let main argv = 
    ...

其中 A、B、C 在名为 A.fs、B.fs 和 C.fs...

的文件中

在 Visual Studio 中,可以通过在项目视图中重新排列文件来轻松定义编译文件的顺序,但是我不清楚如何在 linux 中执行此操作。 ..?

我想我必须以某种方式在控制台中定义顺序

$ fsharpc -o test.exe Program.fs --fileorder:[A.fs,B.fs,C.fs,Program.fs]

我正在使用 F# 3.1 (目前正在使用新的跨平台 VSCode IDE)

只需按正确顺序将文件传递给 fsharpc:

$ fsharpc --out:test.exe A.fs B.fs C.fs Program.fs

我通常将这个列表存储在一个文件中,然后使用 xargs:

$ cat dependency-order.txt
A.fs
B.fs
C.fs
Program.fs
$ cat dependency-order.txt | xargs -d '\n' fsharpc --out:test.exe