写点什么

.NET Aspire 9.4 发布了 CLI GA、交互式仪表板和高级部署功能

作者:Almir Vuk

  • 2025-08-07
    北京
  • 本文字数:2941 字

    阅读完需:约 10 分钟

大小:743.70K时长:04:13
.NET Aspire 9.4发布了CLI GA、交互式仪表板和高级部署功能

.NET Aspire 9.4作为云原生应用开发栈的最新小版本已经发布,标志着迄今为止最重要的更新。据微软报道,该版本引入了一系列增强功能,重点关注开发人员体验、部署自动化以及云服务和本地环境之间的更深层次集成。

 

在 9.4 版本中,最值得注意的新增功能之一是 Aspire CLI 的全面可用性,这是一个独立的命令行工具,允许开发人员创建、配置和部署 Aspirified 应用程序。正如发布说明中所述,CLI 支持诸如 aspire new、aspire run、aspire config,以及预览版的 aspire publish 和 aspire deploy 等命令。

 

这些工具为构建和部署分布式应用程序提供了一个更简单的界面。尽管aspire deploy命令仍然是一个特性标志,但它使用自定义注释和进度报告引入了可扩展的部署工作流,支持诸如数据库种子或交互式环境配置之类的场景。

 

9.4 版本还对 Aspire 仪表板进行了改进。开发者现在可以直接在界面中查看外部参数和连接字符串,并接收自动升级通知。

 

此外,增强的对等可视化和追踪支持现在允许更好地洞察外部服务连接和未检测到的资源,而日志中的文本换行和隐藏资源的可见性切换等新功能提供了更多的调试和监控体验控制。

 

9.4 版本还对Aspire仪表盘进行了改进。开发人员现在可以直接在界面中查看外部参数和连接字符串,并接收自动升级通知

 

此外,增强的对等可视化和跟踪支持现在允许更好地洞察外部服务连接和未检测到的资源,而新的功能(如日志中的文本包装和隐藏资源的可见性切换)提供了对调试和监控体验的更多控制。

 

(调用 GitHub 模型,以解析 Aspire 中的模型资源。来源:微软官方文档

 

这个版本的关键架构升级是引入了交互服务。这个新的运行时组件支持基于仪表板或基于 CLI 的交互,例如输入收集、确认提示和多步骤工作流。

 

如前所述,交互服务还支持验证回调和通知消息,允许在应用程序启动、发布和部署等操作期间提供更丰富的用户体验。

 

这次更新还包括对建模外部服务、非本地主机端点配置和持久容器网络的更广泛支持。作者指出,此功能是实验性的,在未来的版本中可能会更改。

 

微软团队提供了IInteractionService APIs的使用示例:


public class DeploymentService{    private readonly IInteractionService _interactionService;
public DeploymentService(IInteractionService interactionService) { _interactionService = interactionService; }
public async Task DeployAsync() { // 在破坏性操作前提示确认 var confirmResult = await _interactionService.PromptConfirmationAsync( "Confirm Deployment", "This will overwrite the existing deployment. Continue?");
if (confirmResult.Canceled || !confirmResult.Data) { return; }
// 收集多个输入并进行验证 var regionInput = new InteractionInput { Label = "Region", InputType = InputType.Text, Required = true }; var instanceCountInput = new InteractionInput { Label = "Instance Count", InputType = InputType.Number, Required = true }; var enableMonitoringInput = new InteractionInput { Label = "Enable Monitoring", InputType = InputType.Boolean };
var multiInputResult = await _interactionService.PromptInputsAsync( "Advanced Configuration", "Configure deployment settings:", [regionInput, instanceCountInput, enableMonitoringInput], new InputsDialogInteractionOptions { ValidationCallback = async context => { if (!IsValidRegion(regionInput.Value)) { context.AddValidationError(regionInput, "Invalid region specified"); } } });
if (multiInputResult.Canceled) { return; }
await RunDeploymentAsync( region: regionInput.Value, instanceCount: instanceCountInput.Value, enableMonitoring: enableMonitoringInput.Value);
// 显示进度通知 await _interactionService.PromptNotificationAsync( "Deployment Status", "Deployment completed successfully!", new NotificationInteractionOptions { Intent = MessageIntent.Success, LinkText = "View Dashboard", LinkUrl = "https://portal.azure.com" }); }
private bool IsValidRegion(string? region) { // 验证逻辑在这里 return !string.IsNullOrEmpty(region); }}
复制代码


新的资源生命周期事件钩子简化了数据库种子数据设置和配置验证等常见模式。还添加了一个新的ResourceCommandService API,支持对资源执行仪表板命令的程序化执行,这在测试或自动化场景中特别有用。

 

关于.NET Aspire集成,最新版本扩展了对 GitHub 托管的 AI 模型和Azure AI Foundry的支持,包括使用 Foundry Local 在设备上进行推理。


var builder = DistributedApplication.CreateBuilder(args);
// 添加Azure AI Foundry项目var foundry = builder.AddAzureAIFoundry("foundry");
// 添加特定模型部署var chat = foundry.AddDeployment("chat", "qwen2.5-0.5b", "1", "Microsoft");var embedding = foundry.AddDeployment("embedding", "text-embedding-ada-002", "2", "OpenAI");
// 将你的服务连接到AI能力var webService = builder.AddProject<Projects.WebService>("webservice") .WithReference(chat) .WaitFor(chat);
builder.Build().Run();
复制代码


其他Azure增强功能包括对Cosmos DB中层次分区键的支持、简化的 Azure Key Vault 密钥引用、改进的托管身份使用以及扩展的数据库初始化 API。

 

该版本还包括对Docker Compose部署的更新、Azure App Service 的容器支持以及改进的 Container App 环境配置。

 

这个版本引入了几个重大变更,影响了 Azure Key Vault 密钥访问、Azure Storage blob 容器创建和参数解析行为等 API。发布文档中提供了迁移指导

 

除了核心更新外,.NET Aspire 9.4 还在其项目模板中引入了增强功能,包括对.NET 10的支持和改进的文件命名约定,以帮助开发人员更好地组织多项目解决方案。

 

随着该版本的发布,Aspire 团队还准备了并发布了一个公开路线图,概述了未来六个月的开发计划。正如公告中所述,目标是将 Aspire 发展成一个以代码为主、多语言的工具链,用于建模、运行和部署来自单一数据源的分布式系统。需要注意的是,路线图是有方向性的,并且可能会改变,它反映了积极探索的领域和基于反馈的优先事项。

 

对于感兴趣的读者,.NET Aspire 9.4 的完整发布说明和技术文档可在官方.NET Aspire GitHub仓库和 Microsoft Learn 上找到。

 

原文链接:

https://www.infoq.com/news/2025/08/dotnet-aspire-9-4-release/

2025-08-07 12:009445

评论

发布
暂无评论

深圳企业办理等保备案流程详细说明

行云管家

网络安全 深圳 等级保护 等保备案

TDSQL Server产品新特性

腾讯云数据库

数据库 tdsql

我以为自己MySQL够牛逼了,直到看到了Alibaba的面试题

热爱java的分享家

Java 面试 程序人生 编程语言 经验分享

Flink CDC 2.0 数据处理流程全面解析

大数据技术指南

11月日更

观测云产品更新|新增场景笔记、监控SLO、升级场景视图、异常检测库等功能

观测云

功能更新

索信达控股:四大策略、五大行动,新趋势下数字生态的落地策略及行动路径

索信达控股

金融科技 数字化转型 数字金融 银行业 金融机构

提升软件开发效率,企业数字化转型更轻松?

行云创新

技术 云原生 开发 数字化转型

保姆级神器 Maven,再也不用担心项目构建搞崩了

沉默王二

Java maven

智慧园区综合管理平台系统开发,智慧园区综合能源管理系统方案

电微13828808271

打造一个物联网平台真的工程巨大吗?

Speedoooo

容器 ios开发 APP开发 Andriod开发

第二届腾讯“开悟”大赛初赛放榜,强化学习研究还能这么快乐?

科技热闻

TDSQL-C for MySQL版产品新特性

腾讯云数据库

tdsql 国产数据库

面试官:系统需求多变时如何设计?

Geek_1df311

程序员 架构 面试 计算机

企业云资源管理系统着重推荐-行云管家!

行云管家

云计算 服务器 云资源

“阿里爸爸”又爆新作!Github新开源303页Spring全家桶高级笔记

热爱java的分享家

Java 面试 编程语言 经验分享 Spring全家桶

CSS布局(三)之等分布局

Augus

CSS 11月日更

TDSQL MySQL版产品能力介绍及新特性

腾讯云数据库

数据库 tdsql

深入理解 WKWebView(入门篇)—— WebKit 源码调试与分析

百度Geek说

Webkit

质量基础设施一站式服务平台开发,国家NQI一站式云平台搭建

电微13828808271

HBase 基础及核心架构解析

五分钟学大数据

11月日更

太完整了!阿里内部热捧“Spring全线笔记”,不止是全家桶

热爱java的分享家

Java 面试 编程语言 springboot 经验分享

如何利用EasyRecovery恢复c盘已删文档

淋雨

数据恢复

2022年游戏市场趋势——最后一个十亿蓝海待挖掘

游戏出海 手机游戏

TDSQL-C for MySQL版产品新特性

腾讯云数据库

数据库 tdsql

宝马、西门子是如何开始DevOps 的?

飞算JavaAI开发助手

新来的00后真是卷王,工作没两年,跳槽到我们公司起薪26K

Geek_1df311

Java 程序员 架构 面试

【可观测之路】“观测云”CSDN技术专区正式上线!

观测云

可观测 CSDN

恒源云(GPUSHARE)_长尾分布的多标签文本分类平衡方法(论文学习笔记)

恒源云

人工智能 深度学习 算力

公布半小时下载量达10W:阿里大牛出品「MyCat笔记」真香

热爱java的分享家

Java 面试 编程语言 经验分享 mycat

深入理解 WKWebView(入门篇)

百度开发者中心

Webkit WKWebView

Go语言学习查缺补漏ing Day5

Regan Yue

Go 语言 11月日更

.NET Aspire 9.4发布了CLI GA、交互式仪表板和高级部署功能_微软_InfoQ精选文章