まとめ
- 本ページは、 Mac で C# のHello World 相当な小さな単体テストを cli, dotnet コマンドで気楽に始めるまで – oki2a24 の続き。
- 手順
- コンソールアプリのプロジェクトを作成:
dotnet new console -n MyConsole
- プロジェクトをソリューションに追加:
dotnet sln MySolution.sln add MyConsole/MyConsole.csproj
- 実行。実行前にプロジェクトのフォルダに移動することが必要。
cd MyConsole/ ; dotnet run
- コンソールアプリのプロジェクトを作成:
- 「プロジェクトをソリューションに追加」、は不要かも。
dotnet --version
→8.0.104
実践
dotnet new console -n MyConsole
テンプレート "コンソール アプリ" が正常に作成されました。
作成後の操作を処理しています...
/Users/oki2a24/trial_csharp/HelloWorld/MyConsole/MyConsole.csproj を復元しています:
Determining projects to restore...
Restored /Users/oki2a24/trial_csharp/HelloWorld/MyConsole/MyConsole.csproj (in 491 ms).
正常に復元されました。
dotnet sln MySolution.sln add MyConsole/MyConsole.csproj
プロジェクト `MyConsole/MyConsole.csproj` をソリューションに追加しました。
cd MyConsole/
dotnet run
Hello, World!
トライアルアンドエラーなど
あれ? dotnet run
が成功しない。。。
dotnet run
実行するプロジェクトが見つかりませんでした。プロジェクトが /Users/oki2a24/trial_csharp/HelloWorld に存在することを確認するか、--project を使用してパスをプロジェクトに渡してください。
出力をそのまま Google 検索した。
なるほど、作成したディレクトリで実行するのではなく、作成されてたプロジェクトのディレクトリへ移動して、そこで実行すれば良さそう♪
結果、うまくいきました♪
作成されたファイルを見る。
dotnet run
が成功した時、文字列が出力されたのでこれでグレップしたところ、ヒットしたのは Program.cs
。
ということはまず実行されるファイルは Program.cs
。これの中身をいじっていけばカスタマイズできるということ。中身を中身を見てみる。
// See https://aka.ms/new-console-template for more information
Console.WriteLine("Hello, World!");
これだけ?シンプルで良いですね。1行目のリンク先を見ると、以前の書き方に戻す方法の案内なども書かれていました。
おまけ。プロジェクト作成で作成されたもの一覧。
tree
.
├── MyConsole.csproj
├── Program.cs
├── bin
│ └── Debug
│ └── net8.0
│ ├── MyConsole
│ ├── MyConsole.deps.json
│ ├── MyConsole.dll
│ ├── MyConsole.pdb
│ └── MyConsole.runtimeconfig.json
└── obj
├── Debug
│ └── net8.0
│ ├── MyConsole.AssemblyInfo.cs
│ ├── MyConsole.AssemblyInfoInputs.cache
│ ├── MyConsole.GeneratedMSBuildEditorConfig.editorconfig
│ ├── MyConsole.GlobalUsings.g.cs
│ ├── MyConsole.assets.cache
│ ├── MyConsole.csproj.CoreCompileInputs.cache
│ ├── MyConsole.csproj.FileListAbsolute.txt
│ ├── MyConsole.dll
│ ├── MyConsole.genruntimeconfig.cache
│ ├── MyConsole.pdb
│ ├── apphost
│ ├── ref
│ │ └── MyConsole.dll
│ └── refint
│ └── MyConsole.dll
├── MyConsole.csproj.nuget.dgspec.json
├── MyConsole.csproj.nuget.g.props
├── MyConsole.csproj.nuget.g.targets
├── project.assets.json
└── project.nuget.cache
9 directories, 25 files
おわりに
生成 AI に C# のプログラムを提案してもらった時に実行をつけてもらうと、コンソールアプリのような感じでした。
そこで、そのままコピペで動かせる環境が欲しいと思い、今回の投稿となりました。
ちなみに、生成 AI の実行プログラムは、 .NET 5 以前のシンプルではないバージョンだったので、削ったり移動したりしてエラーを解消して試しました。
以上です。