Aspire 13.1 の新機能
Aspire 13.1 は、Aspire 13 で確立されたポリグロット基盤をさらに発展させ、CLI 体験の大幅な改善、AI コーディングエージェント向けの MCP(Model Context Protocol)サポートの強化、ダッシュボードの改良、Azure へのデプロイの簡素化を提供します。本リリースは、開発者の生産性向上と、最新の AI 支援開発ワークフローとのシームレスな統合に重点を置いています。
このリリースで導入される内容は次のとおりです:
- AI コーディングエージェント向け MCP: 新しい
aspire mcp initコマンドと、AI アシスタントが統合を発見し Aspire アプリケーションと連携するための MCP ツール。 - CLI の強化: チャネルの永続化、自動インスタンス検出、インストールパスのオプション。
- ダッシュボードの改善: 専用の Parameters タブと生成 AI ビジュアライザーの強化。
- Azure マネージド Redis:
AddAzureRedisEnterpriseからAddAzureManagedRedisへ名称変更し、検証を改善。 - コンテナー レジストリ サポート: 汎用コンテナー レジストリ向けの新しい
ContainerRegistryResource。 - JavaScript の改善: 新しいフロントエンド スターター テンプレート、Vite の HTTPS 設定、pnpm の修正。
- DevTunnels の安定化: 📦 Aspire.Hosting.DevTunnels が安定版パッケージになりました。
- TLS 終端サポート: コンテナーやリソースに HTTPS 証明書を設定するための新しい API。
- Azure リソースの接続プロパティ: Azure リソースの接続文字列に対するポリグロット対応。
要件:
フィードバックやご質問、Aspire への貢献にご興味がある場合は GitHub でコラボレーションするか Discord に参加して、チームやコミュニティメンバーと交流してください。
🆙 Aspire 13.1 へのアップグレード
Section titled “🆙 Aspire 13.1 へのアップグレード”Aspire 13.1 へアップグレードする最も簡単な方法は、aspire update コマンドを使用することです:
-
aspire updateコマンド を使用して Aspire プロジェクトを更新します:Aspire CLI — すべての Aspire パッケージを更新 aspire update -
Aspire CLI 自体を更新します:
Aspire CLI — CLI を更新 aspire update --self
🤖 AI コーディングエージェント向け MCP
Section titled “🤖 AI コーディングエージェント向け MCP”Aspire 13.1 では、MCP(Model Context Protocol)との統合により、AI コーディングエージェントを包括的にサポートします。お好みの AI コーディングツールを設定することで、Aspire アプリケーションを理解し、操作できるようになります。
プロジェクト用に MCP を初期化する
Section titled “プロジェクト用に MCP を初期化する”新しい aspire mcp init コマンドは、開発環境を検出し、対応する AI コーディングエージェント向けに MCP サーバーを設定します:
aspire mcp initコマンド リファレンス: aspire mcp init.
このコマンドでは、簡潔な 2 ステップの選択プロセスが表示されます:
構成するエージェント環境を選択してください:[ ] Aspire MCP サーバーを使用するようにVS Codeを構成する[ ] Aspire MCP サーバーを使用するようにGitHub Copilot CLIを構成します[ ] Aspire MCP サーバーを使用するように Claude Code を構成する[ ] OpenCode を Aspire MCP サーバーを使用するように構成する
Which additional options do you want to enable?[ ] Create an agent instructions file (AGENTS.md)[ ] Configure Playwright MCP serverAI エージェント向け MCP ツール
Section titled “AI エージェント向け MCP ツール”MCP 経由で接続された AI コーディングエージェントは、Aspire の統合機能を直接検出して利用できるようになります:
list_integrations— 利用可能な Aspire Hosting の統合(Redis、PostgreSQL、Azure サービスなど)を返します。get_integration_docs— 特定の統合パッケージに関する詳細なドキュメントを取得します。list_apphosts— ワークスペース内で検出されたすべての AppHost プロジェクトを一覧表示します。select_apphost— 複数の AppHost が存在する場合に、対象の AppHost にコンテキストを切り替えます。
ダッシュボードの MCP 統合
Section titled “ダッシュボードの MCP 統合”AppHost に接続されている場合、ダッシュボードは MCP エンドポイントを公開し、AI エージェントが実行中のアプリケーションから直接、リソースの状態確認、ログの参照、トレースの調査を行えるようになります。
詳細については、 MCP サーバー統合 をご参照ください。
🛠️ CLI の機能強化
Section titled “🛠️ CLI の機能強化”チャネル選択と永続化
Section titled “チャネル選択と永続化”aspire new および aspire init コマンドで --channel オプションが利用可能になり、使用する Aspire のバージョンチャネルを明示的に選択できるようになりました:
aspire new aspire-starter --channel previewaspire init --channel stableコマンド リファレンス: aspire init.
aspire update --self で CLI を更新すると、選択したチャネルは ~/.aspire/globalsettings.json に保存され、以後のプロジェクト作成時の既定値として使用されます。
自動インスタンス検出
Section titled “自動インスタンス検出”すでにインスタンスが起動している状態で aspire run を実行した場合でも、Aspire 13.1 は実行中のインスタンスを自動的に検出し、終了させます。
インストールパス オプション
Section titled “インストールパス オプション”インストール スクリプトで --skip-path がサポートされ、PATH を変更せずに CLI をインストールできるようになりました:
curl -fsSL https://aspire.dev/install.sh | bash -s -- --skip-pathiex "& { $(irm https://aspire.dev/install.ps1) } -SkipPath"詳細については Aspire CLI インストールオプション をご確認ください。
📊 ダッシュボードの改善
Section titled “📊 ダッシュボードの改善”専用の Parameters タブ
Section titled “専用の Parameters タブ”リソースページに専用の Parameters タブが追加され、リソースの詳細画面から離れることなく、設定パラメーターをより簡単に確認・管理できるようになりました。

生成 AI ビジュアライザーの強化
Section titled “生成 AI ビジュアライザーの強化”生成 AI ビジュアライザーには、次のような改善が加えられています:
- ツール定義と評価 — 生成 AI スパンに関連付けられたツール定義および評価がビジュアライザーに表示されます。
- 動画・音声のプレビュー — 生成 AI ビジュアライザー上で動画および音声コンテンツをプレビューできます。
- ログ エントリのリンク — 生成 AI スパンに関連付けられたログ エントリに、生成 AI ビジュアライザーへの直接リンクが追加されました。
- コンテンツ解析の改善 — さまざまな AI モデルの応答形式をより適切に処理できるようになりました。

- トレースの継続時間が
int.MaxValueを超えた場合に、Traces ページで発生していたOverflowExceptionを修正しました。 - 検索条件に一致する項目がない場合のコンボボックス フィルターの挙動を修正しました。
- 非表示のリソースが存在する場合に、表示オプション メニューが正しく表示されない問題を修正しました。
☁️ Azure の改善
Section titled “☁️ Azure の改善”Azure マネージド Redis
Section titled “Azure マネージド Redis”// Before (Aspire 13.0)var redis = builder.AddAzureRedisEnterprise("cache");// After (Aspire 13.1)var redis = builder.AddAzureManagedRedis("cache");Azure リソースの接続プロパティ
Section titled “Azure リソースの接続プロパティ”Azure リソースは、すべての対応言語で利用できる標準化された形式で接続プロパティを公開するようになりました。これにより、Java、JavaScript、Python SDK を使用するポリグロットなアプリケーションでも、一貫した構成パターンで Azure リソースへ接続できます。
対象となるリソースでは、HostName、Port、JdbcConnectionString などの追加プロパティが公開され、.NET の接続文字列形式を使用しない言語でも、クライアント設定が容易になりました。
Azure App Service のデプロイ スロット
Section titled “Azure App Service のデプロイ スロット”Azure App Service のデプロイ スロットを構成するための、新しい WithDeploymentSlot 拡張メソッドが追加されました:
var builder = DistributedApplication.CreateBuilder(args);
builder.AddAzureAppServiceEnvironment("appservice") .WithDeploymentSlot("staging");既定のロール割り当てのクリア
Section titled “既定のロール割り当てのクリア”権限を細かく制御したい場合に、Azure リソースへの自動的なロール割り当てを無効化できる、新しい ClearDefaultRoleAssignments 拡張メソッドが追加されました。
- Azure デプロイ時に、必要なコンピューティング環境が存在するかを事前に検証するようになり、インフラ不足時により早く、分かりやすいエラーが表示されるようになりました。
- 複数テナントをまたいで作業する際の Azure 認証に関する問題を修正しました。
🐳 コンテナーと Docker Compose
Section titled “🐳 コンテナーと Docker Compose”コンテナー レジストリ リソース
Section titled “コンテナー レジストリ リソース”新しい ContainerRegistryResource により、Azure Container Registry 以外の汎用コンテナー レジストリとの統合が可能になりました:
var builder = DistributedApplication.CreateBuilder(args);
var registry = builder.AddContainerRegistry("myregistry", "registry.example.com");
var api = builder.AddProject<Projects.Api>("api") .WithContainerRegistry(registry);デプロイ パイプラインには、コンテナー レジストリ操作のための push ステップが新たに含まれるようになりました。
$ aspire do push16:03:38 (pipeline-execution) → Starting pipeline-execution...16:03:38 (push-prereq) → Starting push-prereq...16:03:38 (process-parameters) → Starting process-parameters...16:03:38 (push-prereq) ✓ push-prereq completed successfully16:03:38 (process-parameters) i [INF] 3 parameter values saved to deployment state.16:03:38 (process-parameters) ✓ process-parameters completed successfully16:03:38 (build-prereq) → Starting build-prereq...16:03:38 (build-prereq) ✓ build-prereq completed successfully16:03:38 (build-go-app) → Starting build-go-app...16:03:38 (build-pythonapp-standalone) → Starting build-pythonapp-standalone...16:03:38 (build-api) → Starting build-api...16:03:38 (build-viteapp) → Starting build-viteapp......16:03:43 (push-api) → Starting push-api...16:03:43 (push-api) → Pushing api to container-registry16:03:44 (push-api) i [INF] Docker tag for api -> docker.io/captainsafia/api:latest succeeded.16:03:44 (push-pythonapp) i [INF] Docker tag for pythonapp:d5325602e04758397792c8332c5882846516b35c -> docker.io/captainsafia/pythonapp:latest succeeded.16:03:48 (push-go-app) i [INF] Docker push for docker.io/captainsafia/go-app:latest succeeded.16:03:48 (push-go-app) ✓ Successfully pushed go-app to docker.io/captainsafia/go-app:latest (5.1s)16:03:48 (push-go-app) ✓ push-go-app completed successfully16:03:48 (push-pythonapp-standalone) i [INF] Docker push for docker.io/captainsafia/pythonapp-standalone:latest succeeded.16:03:48 (push-pythonapp-standalone) ✓ Successfully pushed pythonapp-standalone to docker.io/captainsafia/pythonapp-standalone:latest (5.4s)16:03:48 (push-pythonapp-standalone) ✓ push-pythonapp-standalone completed successfully16:03:49 (push-pythonapp) i [INF] Docker push for docker.io/captainsafia/pythonapp:latest succeeded.16:03:49 (push-pythonapp) ✓ Successfully pushed pythonapp to docker.io/captainsafia/pythonapp:latest (5.7s)16:03:49 (push-pythonapp) ✓ push-pythonapp completed successfully16:04:05 (push-api) i [INF] Docker push for docker.io/captainsafia/api:latest succeeded.16:04:05 (push-api) ✓ Successfully pushed api to docker.io/captainsafia/api:latest (21.3s)16:04:05 (push-api) ✓ push-api completed successfully16:04:05 (push) → Starting push...16:04:05 (push) ✓ push completed successfully16:04:05 (pipeline-execution) ✓ Completed successfully------------------------------------------------------------✓ 14/14 steps succeeded • Total time: 26.41sAzure デプロイにおける明示的なコンテナー レジストリ サポート
Section titled “Azure デプロイにおける明示的なコンテナー レジストリ サポート”Aspire 13.1 以前では、AddAzureContainerAppEnvironment を使用して Azure Container Apps にデプロイする際、Azure Container Registry(ACR)は環境の一部として暗黙的にプロビジョニングされていました。この自動プロビジョニングにより、デプロイの遅延が発生したり、どのレジストリが使用されているのかを開発者が把握しにくいという課題がありました。
Aspire 13.1 では、この点を改善するために、コンテナー レジストリを明示的に構成する方向へと変更され、イメージが「どこに」「いつ」プッシュされるのかについて、開発者がより高い制御性と可視性を得られるようになりました。以下の構成では、「myenv」環境に関連付けられた ACR が環境と並行してプロビジョニングされ、レジストリのプロビジョニングが完了し次第、イメージのプッシュが開始されます。
var builder = DistributedApplication.CreateBuilder(args);
var acr = builder.AddAzureContainerAppEnvironment("myenv");
var api = builder.AddProject<Projects.Api>("api") .WithContainerRegistry(acr);コンテナー レジストリの改善点や、それが Azure デプロイに与える影響について詳しく知りたい場合は、 Safia Abdalla’s blog post on fixing Aspire’s image problem をご覧ください。
Docker Compose の改善
Section titled “Docker Compose の改善”- 可搬性向上のため、バインド マウントのソースが環境プレースホルダーに置き換えられました。
- Docker Compose デプロイ後に、リソースのエンドポイントが表示されるようになりました。
- パイプラインを並列実行した際に発生していた、Dockerfile のマテリアライズ処理における競合状態を修正しました。
高度なシナリオでは、ConfigureEnvFile を使用して生成される .env ファイルをカスタマイズできます:
var builder = DistributedApplication.CreateBuilder(args);
builder.AddDockerComposeEnvironment("compose") .ConfigureEnvFile(env => { env["CUSTOM_VAR"] = new CapturedEnvironmentVariable { Name = "CUSTOM_VAR", DefaultValue = "my-value" }; });詳細については Docker Compose 統合 をご参照ください。
🌐 JavaScript とフロントエンド サポート
Section titled “🌐 JavaScript とフロントエンド サポート”JavaScript フロントエンド スターター テンプレート
Section titled “JavaScript フロントエンド スターター テンプレート”新しい aspire-ts-cs-starter テンプレートにより、すぐに使える JavaScript フロントエンド環境を構築できます:
aspire new aspire-ts-cs-starterこのテンプレートには、次の内容が含まれています:
Serverという名前の ASP.NET Core Minimal API バックエンドfrontendという名前の、Vite ベースの React クライアント- これらを統合・オーケストレーションする AppHost プロジェクト
詳細については JavaScript frontend 統合 をご参照ください。
Vite の HTTPS 設定
Section titled “Vite の HTTPS 設定”Aspire は、既存の Vite 設定を実行時に動的に拡張し、HTTPS エンドポイントを有効化できるようになりました。これにより、開発時に証明書を手動で設定する必要がなくなります。
- pnpm を使用するプロジェクトにおける Dockerfile 生成を修正し、corepack が正しく有効化されるようになりました。corepack について詳しくない場合は corepack のドキュメント をご確認ください。また、pnpm との組み合わせについては こちら も参考になります。
🔒 証明書とセキュリティ
Section titled “🔒 証明書とセキュリティ”Aspire 13.1 では、ローカル開発用証明書の設定および信頼の手順が、より分かりやすくなりました。詳細については 証明書の構成 をご参照ください。
TLS 終端サポート
Section titled “TLS 終端サポート”新しい API により、TLS 接続を終端する必要があるリソースに対して、HTTPS 証明書を構成できるようになりました。
以下のコンテナーは、TLS 終端を標準でサポートしています:
| コンテナー | 既定 |
|---|---|
| YARP | 有効 |
| Redis | 有効 |
| Keycloak | 有効 |
| Uvicorn (Python) | 有効 |
| Vite (JavaScript) | 明示的に有効化が必要 |
TLS が既定で有効な場合、ASP.NET Core の開発者証明書が利用可能かつ信頼されていれば、自動的に使用されます。
特定のリソースで開発者証明書を明示的に有効化するには(例: Vite):
var builder = DistributedApplication.CreateBuilder(args);
builder.AddViteApp("frontend") .WithHttpsDeveloperCertificate();カスタム証明書を使用する場合は、次のように設定します:
var certificate = new X509Certificate2("path/to/certificate.pfx", "password");
builder.AddYarp("gateway") .WithHttpsCertificate(certificate);YARP では、HTTPS ポートを明示的に指定することもできます:
var builder = DistributedApplication.CreateBuilder(args);
builder.AddYarp("gateway") .WithHostHttpsPort(8443);特定のリソースで HTTPS 証明書の構成を無効化するには、次のようにします:
var builder = DistributedApplication.CreateBuilder(args);
builder.AddRedis("cache") .WithoutHttpsCertificate();組み込みの TLS 終端サポートを持たないリソースに対しては、構成コールバックを使用して、カスタム引数や環境変数を渡すことで TLS 終端を構成できます:
var builder = DistributedApplication.CreateBuilder(args);
builder.AddContainer("my-service", "my-image") .WithHttpsCertificateConfiguration(ctx => { // PFX 形式の証明書パスを引数として渡す ctx.Arguments.Add("--https-certificate-path"); ctx.Arguments.Add(ctx.PfxPath);
// 公開鍵・秘密鍵(PEM 形式)の証明書パスを環境変数として設定 ctx.EnvironmentVariables["HTTPS_CERT"] = ctx.CertificatePath; ctx.EnvironmentVariables["HTTPS_CERT_KEY"] = ctx.KeyPath;
return Task.CompletedTask; });詳細については 証明書の構成 をご参照ください。
🧩 アプリモデルの更新
Section titled “🧩 アプリモデルの更新”エンドポイント参照の解決
Section titled “エンドポイント参照の解決”エンドポイント参照の評価時に、エンドポイントの割り当てが完了するまで正しく待機するようになりました。これにより、複雑なオーケストレーション シナリオで発生していた競合状態が解消されます。
コンテナー ネットワーク コンテキスト
Section titled “コンテナー ネットワーク コンテキスト”エンドポイント参照が、それぞれ固有のネットワーク コンテキストを正しく考慮して解決されるようになりました。これにより、複数ネットワークを使用するコンテナー デプロイにおいても、正しいネットワーク構成が保証されます。
システム ログの書式
Section titled “システム ログの書式”DCP から出力されるシステム レベルのログは、冗長な JSON オブジェクトではなく、[sys] プレフィックス付きの人間に読みやすい形式で表示されるようになりました:
[sys] Starting process: Cmd = dotnet, Args = [run][sys] Failed to start Container: Error = container start failed (exit code 1)これにより、システム ログとアプリケーションの出力を容易に区別でき、コンソール上での可読性が向上します。
📦 統合機能の更新
Section titled “📦 統合機能の更新”DevTunnels の安定化
Section titled “DevTunnels の安定化”📦 Aspire.Hosting.DevTunnels パッケージは正式版となり、プレビューではなくなりました。Dev Tunnels を使用することで、ローカルの Aspire アプリケーションをインターネットに公開し、Webhook のテストやモバイル アプリ、外部サービスとの連携を行えます。
詳細については Dev Tunnels 統合 をご参照ください。
エンドポイント プロキシ サポートの安定化
Section titled “エンドポイント プロキシ サポートの安定化”WithEndpointProxySupport API は正式版となり、実験的属性を付与する必要がなくなりました。
Keycloak の改善
Section titled “Keycloak の改善”Keycloak コンテナーが、OTLP コレクターへテレメトリをエクスポートできるようになりました:
var builder = DistributedApplication.CreateBuilder(args);
builder.AddKeycloak("keycloak") .WithOtlpExporter();詳細については Keycloak 統合 をご参照ください。
OpenTelemetry の更新
Section titled “OpenTelemetry の更新”OpenTelemetry 依存関係は、コードベース全体で最新の安定版へ更新されました。
Azure Functions
Section titled “Azure Functions”Aspire 13.1 では、Azure Functions 統合が正式版となり、プレビューを脱しました。Azure Functions は Aspire を利用したローカル開発に対応し、さらに KEDA ベースの自動スケーリング ルールをサポートした ACA Native Functions へのデプロイも可能になりました。
- ローカル環境に Azure Functions Core Tools がインストールされていない場合、Aspire ダッシュボードが通知します。
- ジェネリック型パラメーターなしで Functions プロジェクトを追加できる新しいオーバーロード
AddAzureFunctionsProject(name, projectPath)が追加されました:
var builder = DistributedApplication.CreateBuilder(args);
builder.AddAzureFunctionsProject("myfunc", "../MyFunctions/MyFunctions.csproj");詳細については Azure Functions 統合 または Aspire と Azure Functions の使い方 をご参照ください。
🏗️ テンプレート
Section titled “🏗️ テンプレート”すべての Aspire テンプレートは 13.1 向けに更新され、以下のように一貫したパターンが採用されています:
- 以前の Aspire バージョンのサポートを終了しました
- スターター テンプレート間でプロジェクト構成を統一しました
🐛 バグ修正
Section titled “🐛 バグ修正”- Windows の VS Code ターミナルで
aspire mcp initがハングする問題を修正しました。 - Windows における AppHost パスの正規化を修正しました。
- PATHEXT を正しく考慮することで、Windows での CLI ツール検出を修正しました。
- カスタム構成キーを使用したパラメーター保存の問題を修正しました。
- 名前にハイフンを含むリソースのコンテナー イメージ ビルドを修正しました。
- 相対エンドポイント URL の取り扱いを修正しました。
- Linux におけるデプロイ状態ファイルの大文字・小文字の区別に関する問題を修正しました。
🙏 コミュニティからの貢献
Section titled “🙏 コミュニティからの貢献”Aspire 13.1 の実現に貢献してくださった、すべてのコミュニティ コントリビューターの皆さまに感謝いたします:
- 適応型の力学モデルを用いたリソース グラフ レイアウトの改善
- Playground アプリ全体にわたる npm 依存関係の更新
- ドキュメント リンクの更新
- その他、さまざまなバグ修正と改善
私たちは常に コミュニティからの貢献 を楽しみにしています。ご参加いただける方は、ぜひ コントリビューション ガイド をご覧ください。
⚠️ 破壊的変更
Section titled “⚠️ 破壊的変更”Azure Redis API の名称変更
Section titled “Azure Redis API の名称変更”| 変更内容 | 移行方法 |
|---|---|
AddAzureRedisEnterprise の名称変更 | AddAzureManagedRedis を使用 |
AddAzureRedis の非推奨化 | AddAzureManagedRedis へ移行 |
Aspire 13.0 から 13.1 への移行
Section titled “Aspire 13.0 から 13.1 への移行”- CLI を更新:
aspire update --selfを実行します。 - プロジェクトを更新: プロジェクト ディレクトリで
aspire updateを実行します。 - Azure Redis の名称変更:
AddAzureRedisEnterpriseをAddAzureManagedRedisに置き換えます。 - MCP 構成の確認:
aspire mcp initを実行して、AI コーディングエージェントのサポートを設定します。
接続プロパティの名称変更
Section titled “接続プロパティの名称変更”リソース間で一貫性を保つため、一部の接続プロパティが名称変更されました:
| リソース | 旧プロパティ | 新プロパティ |
|---|---|---|
| GitHub Models リソース | Model | ModelName |
| OpenAI model リソース | Model | ModelName |
| Milvus database リソース | Database | DatabaseName |
| MongoDB database リソース | Database | DatabaseName |
| MySQL database リソース | Database | DatabaseName |
| Oracle database リソース | Database | DatabaseName |
これらのプロパティを使用しているクライアント アプリケーションがある場合は、新しい名称へ更新してください。
たとえば、chat という名前の GitHub Models リソースでは、モデル名の環境変数は CHAT_MODEL から CHAT_MODELNAME に変更されます。
フィードバックと貢献: Aspire 13.1 のご利用体験について、ぜひお聞かせください! GitHub でフィードバックを共有するか、 Discord でディスカッションにご参加ください。