簡體   English   中英

F# VS2019 Windows 窗體

[英]F# VS2019 Windows Forms

我正在學習 F#,我只是在嘗試構建 Animate 一個鍾擺程序。 這是代碼: https : //rosettacode.org/wiki/Animate_a_pendulum#F.23

據我了解,VS 2019 不支持 F# 中的 WinForms(也許,我錯了),所以我有錯誤消息,試圖復制/粘貼該代碼:

在此處輸入圖片說明

我該怎么辦?
非常感謝 !

如果您希望在 .NET Core 上使用 Winforms,則需要在項目中執行以下操作:

  1. 打開項目文件(在Visual Studio中雙擊節點)
  2. Sdk更改為Microsoft.NET.Sdk.WindowsDesktop
  3. 確保你有這樣的OutputType<OutputType>WinExe</OutputType>
  4. 將以下屬性添加到頂級PropertyGroup<UseWindowsForms>true</UseWindowsForms>

沒有可視化設計器可供使用,但您應該可以訪問 API。

不幸的是,Visual Studio 2019 中沒有用於任何類型的 F# 項目的 Winforms 設計器,並且Winforms 只能在.Net Framework (而不是 .NET Core )項目中輕松訪問(據我所知),它們可以按@訪問菲利普卡特的回答。

但是,您仍然可以通過手動添加對 .NET Framework 項目的引用,或者(更輕松)通過使用 F# 編譯器fsc手動編譯來輕松制作 Winforms 程序。

  • 快捷方式

執行此操作的最簡單方法是使用 F# 編譯器從帶有fsc.exe的單個源文件中簡單地編譯源代碼。 F# 編譯器將自動解析System.Windows.Forms和許多其他常用命名空間之類的依賴項。 您還可以提供許多編譯器指令來要求其他資源。

使用 VSCode 的示例,帶有各種擴展: VSCode 示例


  • 其它的辦法

啟動一個新的 F# 控制台 .NET Framework 項目(不要選擇 .NET Core)。 新項目

右鍵單擊解決方案資源管理器中的“引用”,然后單擊“添加引用...” 參考

在程序集下,查找“System.Windows.Forms”,選擇它... 選擇 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 會更多地抱怨項目中的位置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM