.NET 团队发布了.NET Aspire 9.3版本,引入了诊断、集成和部署工作流方面的更新。官方公告中指出,此版本旨在通过将 GitHub Copilot 集成到 Aspire 仪表板、扩展跟踪功能以及简化 Azure 部署来改善开发人员体验。
如前所述,此版本中的关键新增功能是将 GitHub Copilot 集成到Aspire 仪表板中。据报道,此集成使开发人员能够分析日志、调查分布式服务中的错误并使用 AI 识别性能问题,而无需离开开发人员仪表板环境。
据 .NET 团队介绍,Copilot 增强了 OpenTelemetry-基于 通过总结日志、解释错误代码以及协助识别复杂跟踪场景中的根本原因来进行诊断。
Aspire 仪表板已更新,在资源图表视图中添加了上下文菜单,可快速访问遥测数据、特定于资源的命令和 URL。如版本中所述,“跟踪”页面现在显示对数据库和缓存等依赖项的传出调用,即使这些服务本身不发出遥测数据。这些更新旨在让开发人员更广泛地了解应用程序行为。
其他可用性增强包括在控制台日志 URL 中保留自定义资源名称、在资源页面上维护过滤器状态以及在指标收集暂停时发出警告。
Aspire 集成改进包括支持通过Aspire.Hosting.Yarp包托管自管理的 YARP 实例。此外,MySQL 集成现在允许在应用主机配置期间创建数据库:
builder.AddMySql("mysql").AddDatabase("mydb");
对于容器化服务,该版本引入了针对 Postgres、Redis 和 SQL Server 的简化配置 API,允许开发人员使用RunAsContainer方法指定主机端口和密码:
var sql = builder.AddAzureSqlServer("sql");
sql.RunAsContainer(c =>
{
c.WithHostPort(12455);
});
Azure 集成也得到了扩展。开发人员现在可以在AppHost中创建和添加 Blob 存储容器。新增了两个 API—— AddAzureKeyVaultKeyClient和AddAzureKeyVaultCertificateClient, 以简化对 Azure Key Vault 的密钥和证书操作访问。
如发行说明中所述,应用程序模型中的自定义 URL功能已更新,以支持相对路径并更好地控制可见性。WithUrlForEndpoint 的新重载允许将多个端点附加到单个资源。
关于 Azure 应用服务,9.3 版引入了预览版支持,支持将 .NET 项目部署到该服务。部署流程通过AddAzureAppServiceEnvironment (...) API 支持,并允许针对常见场景进行配置,例如将单端点 .NET 项目发布到 Azure 容器注册表:
builder.AddAzureAppServiceEnvironment("env");
builder.AddProject<Projects.Api>("api")
.WithExternalHttpEndpoints()
.PublishAsAzureAppServiceWebsite((infra, site) =>
{
site.SiteConfig.IsWebSocketsEnabled = true;
});
此版本中的其他变化包括额外的CLI 增强功能、诊断视觉效果的改进以及扩展的容器配置选项。
对于感兴趣的开发人员,可以在 Microsoft 官方文档网站上找到完整的发行说明。