F#以编程方式运行.fsx脚本文件

Bea*_*ker 6 scripting f# f#-interactive

我确信这一定非常简单,但我似乎无法使其发挥作用.假设我有一个.fsx脚本文件,并希望以编程方式执行它.我猜想有人必须在某个时候写过关于此的博客,但我似乎无法找到一个执行我简单场景的例子.基本上,我想以编程方式复制右键单击.fsx文件并选择"使用F#Interactive运行..."时发生的情况.

Lau*_*ent 2

正如评论中所要求的,您可以设置UseShellExecute为 false 以避免打开 Windows shell。这样,您就可以直接在 F# shell 中输出:

open System.Diagnostics

let execScript script =
    let psi = new ProcessStartInfo(@"c:\Program Files\Microsoft F#\v4.0\Fsi.exe")
    psi.Arguments <- script
    psi.UseShellExecute <- false
    let p = Process.Start(psi)
    p.WaitForExit()
    p.ExitCode
Run Code Online (Sandbox Code Playgroud)