如何在没有 visual studio 的情况下创建 f# windows 应用程序(无 cmd window)

how to create a f# windows application (no cmd window) without visual studio

是否可以在不使用 Visual Studio 的情况下在 F# 中创建一个不会打开 CMD Window 的 Winforms 应用程序?

我知道我可以简单地创建一个 VS 项目并将 'Output type' 设置为 'Windows Application'。但我真的很喜欢这种简单地启动任何类型的文本编辑器并开始破解的方法。

打开任何编辑器,然后写下这样的内容:

open System
open System.Drawing
open System.Windows.Forms

// Create form, button and add button to form
let form = new Form(Text = "Hello world!")
let btn = new Button(Text = "Click here")
form.Controls.Add(btn)

// Register event handler for button click event
btn.Click.Add(fun _ ->
  // Generate random color and set it as background
  let rnd = new Random()
  let r, g, b = rnd.Next(256), rnd.Next(256), rnd.Next(256)
  form.BackColor <- Color.FromArgb(r, g, b) )

// Show the form (in F# Interactive)
form.Show()
// Run the application (in compiled application)
Application.Run(form)

将其另存为扩展名为 .fsx 的文件(例如“Form.fsx”) 运行 来自命令行的“fsi Form.fsx”。 (确保 fsi.exe 在您的 PATH 中)

只需在编译器选项中使用 --target:WinExe
fsc source.fsx --target:WinExe