現地時間11/10 .NET 5がリリースされた。
.NET 5では、フレームワーク名にプラットフォームを指定出来るようになった。プロジェクト種別によっては、プラットフォームを指定しないとエラーになるものもある。なお、ターゲットフレームワークは;で区切ることにより複数指定が可能である。
例えば、Windows Formsプロジェクトでは、単なるnet5.0の指定だけでは、プラットフォームエラーが出てBuildに失敗する。.NET 5で作成したプロジェクトでは、問題無いが、.net core 3.1で作成したプロジェクトを.NET 5にアップグレードする場合等には注意が必要だ。
<PropertyGroup>
<OutputType>WinExe</OutputType>
<TargetFramework>net5.0-windows</TargetFramework>
<UseWindowsForms>true</UseWindowsForms>
</PropertyGroup>
また、プラットフォームにOSやOSバージョンを指定する事により、プログラムから、それらの値を取得することも可能。
.NET 5でサポートされている、プラットフォームは以下のようになっている。
プラットフォーム | バージョン指定可能 |
---|---|
net5.0-android | Yes |
net5.0-ios | Yes |
net5.0-macos | Yes |
net5.0-tvos | Yes |
net5.0-watchos | Yes |
net5.0-windows | No |
※プロジェクトがクロスプラットフォームの場合は単にnet5.0で良い。