概要
Visual Studio 2022でC#のWindows Formアプリを作成し、System.IO.PortsをNuGetでインストールしたところ、エラーが現れた。NuGetでインストールするときにバージョンを指定するとエラーを防ぐことができた。
エラーメッセージ

Windows Formアプリを作成しているのに ‘System.IO.Ports is currently only supported on Windows.’とは。
ググってみると、Unityでは同様のエラーでUWPを選択するとよいとのことだがUnityは使っていない。
NuGetでバージョンを指定
NuGetパッケージマネージャでSystem.IO.Portsのバージョンを最新版の9.0.8ではなく8.0.0を指定してインストールするとこのエラーは解消した。9.0.0でも同様のエラーなので、8.0.0以前が必要のようす。

まとめ
久しぶりにVisual Studio 2022を開いたのでうっかりしていた。Windows FormアプリではなくいつものWindows Formアプリケーションであればこのような問題がなかった。ツールボックスにSerialPortがなかったり、System.IO.PortsをNuGetでインストールしないといけないのも疑問だったが知らないのは自分が久しぶりすぎたせいで今はこういうものなのかと思ってしまった。



コメント