rksoftware

Visual Studio とか C# とかが好きです

.NET Aspire を動かしてみる

.NET Conf 2023 で突然現れた .NET Aspire とは何なのでしょうか? 正直まったく分かっていません。大きすぎることと、細かいことは多少わかるのですが、何なのかというところが何よりまったくわかりません!

動かしてみる

というわけでとりあえず動かしてみたいと思います。

■ 環境の準備

Docker が必要という噂を聞いた気がするので、Docker を準備しました。
rksoftware.hatenablog.com rksoftware.hatenablog.com

Visual Studio の Preview 版にコンポーネントを追加します。

■ プロジェクトの新規作成

Visual Studio でプロジェクトを新規作成します。まずはテンプレート名の短い .NET Aspire Application から試してみます。説明に empty とか書かれているので何もないものが出来上がるのでしょうけれども。

.NET 8 しか選べませんでした。まあそうですよね。

出来上がったソリューション。二つのプロジェクトがいます。

■ 実行

実行してみます。
Docker Desktop を立ち上げだしました! 噂通り、Docker が要るみたいですね。

立ち上がりました。

ターミナルも立ち上がりました。何も表示されませんけれども。

ブラウザも立ち上がってダッシュボードが表示されました。


それだけで特に何も起きませんでした。

■ もう一度、新規作成

今度は長い名前のテンプレート .NET Aspire Starter Application でやってみます。

できたプロジェクトは、Web のバックエンドの API と起動用のプロジェクト (API とフロントのプロジェクトが起動するよう登録されていそう)、起動時の設定を行う拡張メソッドの入ったプロジェクト (オープンテレメトリーを設定していそう)、フロントの Blazor プロジェクト、のプロジェクトのようですね。ダッシュボードはプロジェクトではなさそう。

ターミナルに何か出ました。

ターミナルに出た URL にアクセスしてみます。

ダッシュボードと Web アプリがありますね。

Web アプリをいじっていると、ダッシュボードに記録がされました。

ちなみに新規作成の途中で、名前の短いテンプレートにはなかったチェック `````` がありました。Docker が必要と書かれていますね。

何だったのか

Web のプロントとバックの API のプロジェクト、そこからテレメトリーを送る、Redis も用意されるテレメトリーの内容をダッシュボードでみられる。そういうのが全部入りのソリューションのようです。コンテナはどこに? もう少し見てみたいと思います。