いつものようにコンソールでツールを作ろうと、何気なく C# .NET 6.0 を選択して新規にプロジェクトを作成したのです。

ちょっとしたツールの使い方でも説明しようかと思って…。ところが最初に起動してきた VS2022 の編集画面を見てかなりびびりました。これ見てください。今までのプロジェクトを知っている人だと衝撃の画面です。

えっ?………えええええ!?!?
Main() どこよ? namespace すらないのかよ??
関数増やすのどうすんだよ!?!?!?
ぜぃぜぃ…。
これ、普通にビルドが通って、このままでコンソール画面に Hello, World! って表示しやがるんですよ。ご丁寧にも Hello の後ろにカンマまで付けやがって…関係ないですかそうですか
まあ、冷静に考えれば、何も分からない人からすれば、こっちが普通に分かりやすいですよね。何しろシンプルにやりたい事だけ書けば良いのですから。しかし…、関数追加するのはどうするのよと、恐る恐る関数を追加してみました。すると…

こんなのが動いちゃうんです!キモい!キモすぎる!!
あまりの気持ち悪さに自分で Main() を追加してみたら…

怒られた。ただ、なんか提案されたので見てみた。

要らんから消せと _| ̄|○

こんなのが動いちゃうんです!キモい!キモすぎる!!
あまりの気持ち悪さに自分で Main() を追加してみたら…

怒られた。ただ、なんか提案されたので見てみた。

要らんから消せと _| ̄|○
メッセージをよく読むと「プログラムのエントリポイントは、グローバルコードです」と書いてある。つまりデフォルトでは、メイン無しが標準なんですね。つまりグローバルエリアしかないので、直接書けという事なので、では、適当にクラスを作ってしまったらどうかなと予想して書いたのがコレ。

通った…エラーが消えました。うーん、確かに最初の敷居は低くなったかもしれませんが、これで良いの?ホントに? …なお、以前の形式で namespace 囲ってみましたが、当然のように問題ありません。

本件の詳細はこちらに記述がありました。
https://docs.microsoft.com/ja-jp/dotnet/core/tutorials/top-level-templates
using も暗黙で設定されているのね…。従来形式でテンプレートを作って欲しければ、プロジェクトの作成時は .NET 5.0 を選択して、その後、アプリケーション/全般のターゲットフレームを .NET 6.0 に変更しろとの事です。
これに馴染めってか? ガクブル

通った…エラーが消えました。うーん、確かに最初の敷居は低くなったかもしれませんが、これで良いの?ホントに? …なお、以前の形式で namespace 囲ってみましたが、当然のように問題ありません。

本件の詳細はこちらに記述がありました。
https://docs.microsoft.com/ja-jp/dotnet/core/tutorials/top-level-templates
using も暗黙で設定されているのね…。従来形式でテンプレートを作って欲しければ、プロジェクトの作成時は .NET 5.0 を選択して、その後、アプリケーション/全般のターゲットフレームを .NET 6.0 に変更しろとの事です。
これに馴染めってか? ガクブル

コメント