不幸的是,Visual Studio 2019 中没有用于 any 类型的 F# 项目的 Winforms 设计器,并且 Winforms 只能在 中轻松访问(据我所知)。 Net Framework(NOT .NET Core)项目可以根据@Phillip Carter 的回答访问它们。
但是,您仍然可以通过手动添加对 .NET Framework 项目的引用,或者(更容易)通过使用 F# 编译器手动编译 fsc 来轻松制作 Winforms 程序。
最简单的方法是使用 F# 编译器从带有 fsc.exe 的单个源文件编译源代码。 F# 编译器将自动解析 System.Windows.Forms 和许多其他常用命名空间之类的依赖项。您还可以提供许多编译器指令来需要其他资源。
使用 VSCode 的示例,带有各种扩展:
启动一个新的 F# 控制台 .NET Framework 项目(不要选择 .NET Core)。
在解决方案资源管理器中右键单击“引用”,然后单击“添加引用...”
在程序集下,查找“System.Windows.Forms”,选择它...
还选择“System.Drawing”,然后点击确定
现在您可以访问这两个命名空间了。
在 Visual Studio 中运行项目之前,您应该替换
[<STAThread>]
Application.Run( new PendulumForm( Visible=true ) )
与
[<STAThread;EntryPoint>]
let main _ =
Application.Run( new PendulumForm( Visible=true ) )
0
这样你(和 VS)就知道main 实际上在哪里。这个小程序没有必要真正运行它,但是随着你的项目变得更大,VS 会抱怨更多东西在你的项目中的位置。