.NET Aspire 第四预览版发布总结
本月,微软发布了 .NET Aspire 第四预览版,该版本在多个方面进行了改进,重点关注了社区的需求。主要改进包括对 Entity Framework 组件的增强、Podman 支持、更多云 API 支持以及应用程序模型的调整,以便更轻松地管理资源。
数据库与 Entity Framework 的改进
第四预览版引入了新的 API 和对 数据库与 Entity Framework 的多项改进。其中包括为 MySQL 和 MongoDB 数据库新增的管理工具 phpMyAdmin 和 mongo-express。此外,还引入了新的方法来配置 Entity Framework,解决了不同生命周期范围和自定义服务类型等高级场景。
Entity Framework 迁移过程的改进
在 .NET Aspire 应用程序中,Entity Framework 的迁移过程得到了改进。此前,EF Core 工具由于缺少数据库连接字符串而会报错。在第四预览版中,.NET Aspire 能够检测 EF Core 工具的启动,并禁用连接字符串验证,确保迁移成功创建。
Podman 支持
Podman 是一种无需守护进程的容器引擎,现在在 .NET Aspire 第四预览版中得到了支持,允许用户在 Linux 系统上开发、管理和运行 OCI 容器。团队表示,Podman 是 Docker 的一个很好的替代品,特别适合希望在无需守护进程的情况下运行容器的 Linux 用户。Docker 或 Podman 会自动检测,如果两者都存在,则优先使用 Docker。可以通过环境变量 DOTNET_ASPIRE_CONTAINER_RUNTIME=podman 显式启用或强制使用 Podman。
仪表板的改进
.NET Aspire 仪表板在第四预览版中进行了多项改进,提升了可用性和可访问性。仪表板现在可以作为独立的容器镜像运行,便于远程应用程序管理。此外,仪表板还集成了一些键盘导航快捷键,以增强用户体验。
官方文档指出,仪表板更新了新的外观和感觉,旨在减少导航选项卡占用的空间,并使得在日志、指标和跟踪之间导航更加容易。
Azure 资源的改进
此版本中,.NET Aspire 对 Azure 资源进行了显著改进,新增了用于建模各种 Azure 服务的 Bicep 资源。这些改进封装在 Aspire.Hosting.Azure NuGet 包 中,旨在简化 Azure 资源建模。此外,还引入了新组件,如 Azure SignalR 和 Azure AI Search。
容器与 Azure 资源映射
该版本引入了容器化服务与完全托管的 Azure 等效服务之间的映射,支持从开发到部署的过渡。Redis、Postgres 和 SQL Server 现在都有对应的 Azure 服务,未来计划支持更多服务,如 MySql、MongoDB 和 Kafka。
以下代码片段展示了如何使用 Redis 与 builder 对象:
var builder = DistributedApplication.CreateBuilder(args);
var redis = builder.AddRedis("redis")
.PublishAsAzureRedis();
builder.AddProject<Projects.WebApplication1>("api")
.WithReference(redis);
builder.Build().Run();Azure Bicep 模块的增强
引入了一个新的原语来建模 Azure Bicep 模块,增强了框架在资源建模方面的灵活性。这一改进简化了 Azure 资源的表示,允许将 Bicep 文件作为字面字符串、嵌入资源或磁盘上的文件使用。
模拟器支持的改进
第四预览版还对模拟器支持进行了一些更改,使 API 更符合惯用法。
未来的发布计划
.NET Aspire 团队 承诺每月发布一个新的预览版,并计划在 2024 年第二季度发布稳定的 8.0 版本。微软表示,这些月度发布将为开发者提供定期更新,在整个开发过程中集成新功能和改进。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。