Winforms F#脚本在执行后立即结束(FSI)

Winforms F#脚本在执行后立即结束(FSI),winforms,f#,f#-interactive,Winforms,F#,F# Interactive,当我双击.fsx文件时,脚本在执行后立即结束。没有机会与脚本交互或查看它的功能 我几乎看不到其中一个脚本创建了WinForms窗口,但它很快就关闭了 我尝试了几个默认运行操作(包括发送到.cmd文件): 您尝试的两个命令行都确实运行了脚本,然后退出。如果要保持REPL打开以与脚本交互,则需要--load:file.fsx或--use:file.fsx --use:file.fsx的作用与运行fsi然后将file.fsx的内容粘贴到REPL中大致相同。例如,如果文件只包含let x=2,则可以立

当我双击.fsx文件时,脚本在执行后立即结束。没有机会与脚本交互或查看它的功能

我几乎看不到其中一个脚本创建了WinForms窗口,但它很快就关闭了

我尝试了几个默认运行操作(包括发送到.cmd文件):


您尝试的两个命令行都确实运行了脚本,然后退出。如果要保持REPL打开以与脚本交互,则需要
--load:file.fsx
--use:file.fsx

  • --use:file.fsx
    的作用与运行fsi然后将
    file.fsx
    的内容粘贴到REPL中大致相同。例如,如果文件只包含
    let x=2
    ,则可以立即键入
    x将被识别。如果您的文件包含一组值、语句、类型和/或模块,那么这就是您想要的

  • --load:file.fsx
    的作用与运行fsi并键入
    #load“file.fsx”
    大致相同。这意味着此文件中定义的值将位于单独的命名空间中。如果文件以
    名称空间
    模块
    声明开头,则这是您想要的


从命令行运行时会发生什么?这就是脚本应该做的:执行和完成。为什么您希望它们挂起?当从命令行运行时,它表现出相同的行为。如果我运行“Hello World!”脚本,我希望在控制台中看到输出。“printf”输出是否仅用于已编译代码?--exec在加载文件或运行脚本文件后指示F#interactive退出我是否完全按照上面所述使用开关?还是将“file.fsx”替换为“%1”(或类似的通配符)?我正在为脚本文件(“fsx”文件类型)使用默认运行操作命令。您将文件名改为“file.fsx”,因此,是的,您需要在此处放置“%1”。“C:\Program files(x86)\Microsoft SDK\F#\4.1\Framework\v4.0\fsi.exe”-load:“%1”%*您可以使用Ctrl+D(Windows)退出REPL。
"C:\Program Files (x86)\Microsoft SDKs\F#\4.1\Framework\v4.0\fsi.exe" "%1" %*
"C:\Program Files (x86)\Microsoft SDKs\F#\4.1\Framework\v4.0\fsi.exe" --quiet --exec "%1"