◆ build なら -p で StartupObject を設定
◆ run なら csproj を編集するか環境変数に StartupObject を設定

dotnet コマンドで C# を実行するときにメインファイルを選びたいです

dotnet build コマンドだと -p オプションを渡せば msbuild として解釈されるので

dotnet build -p:StartupObject=csharp.Program1

のように実行すればメインファイルを選べます

しかし dotnet run コマンドだと -p はプロジェクトの選択という機能が割り当てられているので msbuild オプションとして認識されません

csproj ファイルを編集して StartupObject を設定するか 実行時にコマンドで選択したいなら環境変数を使って

env StartupObject=csharp.Program2 dotnet run

とすれば選択できます

これに関する issue もありました
https://github.com/dotnet/cli/issues/7229