🖥

【.NET 5, F#】WinForms の使用方法

2021/03/21に公開

前提

  • .NET CLI を使用する。
  • .NET CLI の winforms テンプレートは F# に対応していない[1]

手順

プロジェクトを作成する

PowerShell
dotnet new console -lang "F#" -o 場所\プロジェクト名

.fsproj を変更する

.fsproj
  <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>
      <WarnOn>3390;$(WarnOn)</WarnOn>
    </PropertyGroup>

    <ItemGroup>
      <Compile Include="Program.fs" />
    </ItemGroup>

  </Project>

動作の確認

Program.fs を変更する

Program.fs
System.Windows.Forms.Application.Run(new System.Windows.Forms.Form())

プロジェクトを実行する

問題が無ければ空のウィンドウが表示されます。

PowerShell
dotnet run --project 場所\プロジェクト名.fsproj

end

脚注
  1. https://docs.microsoft.com/ja-jp/dotnet/core/tools/dotnet-new#:~:text=Windows フォーム (WinForms) アプリケーション,[C%23]、VB ↩︎

  2. https://docs.microsoft.com/ja-jp/dotnet/core/compatibility/sdk/5.0/automatically-infer-winexe-output-type#:~:text=Windows フォーム アプリでは、自動的に WinExe に設定されます。 ↩︎

GitHubで編集を提案

Discussion