.NET 5, F#でWinFormsを使う方法
使用ツール
概要
.fsproj
の <PropertyGroup></PropertyGroup>
内を変更する。
<TargetFramework>net5.0-windows</TargetFramework>
<UseWindowsForms>true</UseWindowsForms>
説明
.NET CLI でプロジェクトを作る際に指定するテンプレートには WinForms 用の winforms
がありますが、F# だと対応していないので System.Windows.Forms
を参照できるように自分で設定する必要があるようです。
手順
console
でプロジェクトを作成する
dotnet new console -lang "F#"
.fsproj
を変更する
※ OutputType
はそのままでも問題ない
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
+ <OutputType>WinExe</OutputType>
- <OutputType>Exe</OutputType>
+ <TargetFramework>net5.0-windows</TargetFramework>
- <TargetFramework>net5.0</TargetFramework>
<RootNamespace>プロジェクト名</RootNamespace>
+ <UseWindowsForms>true</UseWindowsForms>
</PropertyGroup>
<ItemGroup>
<Compile Include="Program.fs" />
</ItemGroup>
</Project>
動作の確認
Program.fs
を変更する。
問題が無ければ空のウィンドウが表示されます。
open System.Windows.Forms
let form = new Form()
Application.Run(form)
end