FX・日経225先物の分析・検証と自動売買を支援

WPF: VS2019でSystem.Windows.Formsが使えない

問題

Visual Studio 2019(=VS2019) で.cs内に

using System.Windows.Forms;

とするとエラーになる。

解決策

.csprojに「 <UseWindowsForms>true</UseWindowsForms> 」を追記

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>WinExe</OutputType>
    <TargetFramework>net5.0-windows</TargetFramework>
    <UseWPF>true</UseWPF>
	<UseWindowsForms>true</UseWindowsForms>
  </PropertyGroup>

</Project>

補足1

これで使えるようになるが、例えばMesssageBoxなどを利用すると

エラー CS0104 ‘MessageBox’ は、’System.Windows.Forms.MessageBox’ と ‘System.Windows.MessageBox’ 間のあいまいな参照です

となってエラーになるので、

using MessageBox = System.Windows.Forms.MessageBox;

としておけばよい

補足2

ソリューションエクスプローラー/依存関係から「参照」で追加できるみたいな記事が多かったが、追加してもエラーになって無理だった。