10 月 23 - 25 日,QCon 上海站即将召开,现在购票,享9折优惠 了解详情
写点什么

.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:009401

评论

发布
暂无评论

能够释放大量Mac内存空间的方法教程

茶色酒

CleanMyMac X CleanMyMac X2023

TorchDynamo初探:Python ByteCode的动态修改

OneFlow

人工智能 深度学习 TorchDynamo

了解下 Rust 的所有权机制

ooooooh灰灰

rust 后端 编译

字节前端高频手写面试题(持续更新中)

helloworld1024fd

JavaScript

LinearLayout(线性布局)

芯动大师

Android Studio android布局 LinearLayout weight属性

Java高手速成│实战:应用数据库和GUI开发产品销售管理软件(1)

TiAmo

JDBC GUI 数据库·

vue组件通信方式有哪些?

bb_xiaxia1998

Vue

vue组件通信6种方式总结(常问知识点)

bb_xiaxia1998

Vue

坚果的2022年终总结

坚果

年终总结 OpenHarmony

Portraiture2023汉化中文版磨皮滤镜软件下载

茶色酒

Portraiture2023 Portraiture

那些高级前端是如何回答面试题的

loveX001

JavaScript

令人头秃的js隐式转换面试题,你能做对吗

loveX001

JavaScript

前端高频面试题集锦

loveX001

JavaScript

常见的Web安全攻击

穿过生命散发芬芳

HTTP 1月月更

朋友圈的架构设计

lory(侯保国)

CorelDRAW2023最新绿色免费版矢量图形处理软件

茶色酒

CorelDraw2023 CorelDraw

面试官:你是怎样进行react组件代码复用的

beifeng1996

React

模块四-考试试卷存储方案

悟空

存储 考试

CleanMyMacX2023永久版Mac系统清理软件

茶色酒

CleanMyMac CleanMyMac X CleanMyMac X2023

前端二面vue面试题(边面边更)

bb_xiaxia1998

Vue

2022年后疫情时代旅游业发展的新趋势

易观分析

旅游 后疫情时代

vivo 服务端监控体系建设实践

vivo互联网技术

云原生 监控 可用性 可观测

从源代码构建TensorFlow流程记录

京东科技开发者

tensorflow GitHub 开源 源代码 企业号 1 月 PK 榜

面试官:能用JavaScript手写一个bind函数吗

helloworld1024fd

JavaScript

勿以善小而不为,让AI成为温柔的力量

wood

AI 烟火气 温柔

osx安装mpd和ncmpcpp

Geek_pwdeic

macos

假如面试官问你Babel的原理该怎么回答

loveX001

JavaScript

字节前端必会react面试题

beifeng1996

React

面试官:说说React-SSR的原理

beifeng1996

React

阿里前端二面必会react面试题总结

beifeng1996

React

滴滴前端一面高频vue面试题及答案

bb_xiaxia1998

Vue

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