◆ ItemGroup に Reference で System.Windows.Forms を追加しても見つからない
◆ Sdk と UseWindowsForms を変更する
  ◆ Microsoft.NET.Sdk → Microsoft.NET.Sdk.WindowsDesktop
  ◆ PropertyGroup に UseWindowsForms を追加して中身は true

.NET Framework でコンソールアプリだけどダイアログを表示したい場合 普通にコンソールアプリとしてプロジェクトを作ってから 参照に System.Windows.Forms を追加して Forms の MessageBox.Show などを使います

.NET Core でも 3.0 から WinForms や WPF が使えるようになったので 同じようにコンソールアプリでダイアログを表示してみようとしました
まずは console 用にアプリを作ります

dotnet new console

VSCode なので直接設定ファイルの csproj を編集して参照を追加します

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

<PropertyGroup>
<OutputType>Exe</OutputType>
...
</PropertyGroup>

<ItemGroup>
<Reference Include="System.Windows.Forms" />
</ItemGroup>

</Project>

ItemGroup で Reference を追加してこれで読み込めると思ったのですが……
using で System.Windows.Forms みつからないとエラーになります

winforms としてプロジェクトを作ってみたところ Project の Sdk プロパティが 「Microsoft.NET.Sdk.WindowsDesktop」 になっていて PropertyGroup の中に UseWindowsForms タグがあり中身が true でした

参照追加は .NET Framework のように Reference を追加するのじゃなくて Sdk の設定や UseWindowsForms のフラグが必要みたいです
なので コンソールプロジェクトの csproj を下のように修正しました

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

<PropertyGroup>
<OutputType>Exe</OutputType>
...
<UseWindowsForms>true</UseWindowsForms>
</PropertyGroup>

</Project>

これで System.Windows.Forms が見つかるようになって MessageBox が使えるようになりました
変更量的に 最初から WinForms 用のプロジェクトを作って OutputType を Exe に変更するほうがいいかもしれません