尊敬的.NET 开发者们,您好!继不久前.NET 8 的辉煌推出之后,微软正式开启了新一轮的年度发布循环。微软推荐开发者们将应用迁移到.NET 8 。今天,我们激动地与您分享关于即将在2024年底.NET Conf大会上发布的.NET 9 的初步愿景。在微软的规划中,云原生和智能应用开发是.NET 9 的核心追求,微软将在性能、生产力和安全性方面进行重大投资,并在整个平台范围内推动技术进步。
今天,让我们一起探索.NET 9 的重点领域,以及微软计划与合作伙伴团队协作交付的配套集成技术。微软的目标是使得开发者们在使用Visual Studio、C# Dev Kit的Visual Studio Code以及Azure服务进行云应用部署时,能更加高效、便捷地开展.NET开发工作。为了实现这一目标,微软将继续与Canonical、Red Hat等行业合作伙伴紧密合作,保证.NET可以在任何场景中都发挥出色的表现。
.NET 9 正成形为平台的又一重大进步。今天,微软发布了.NET 9 预览版1,并诚邀大家对微软提供的所有新特性提出宝贵的反馈。
云原生开发者的平台
在过去几年中,微软致力于打造强大的云原生基础,比如运行时性能和应用监控,微软将继续推进这些工作。同时,微软将聚焦于为流行的生产基础设施与服务(如Kubernetes环境以及Redis等托管数据库和缓存服务)提供便捷的接入途径。这些改进将贯穿.NET堆栈的多个层面,所有这些能力将汇聚至.NET Aspire,显著降低构建云应用的成本与复杂性,缩短开发到生产的距离。
微软一直在开发Native AOT与应用裁剪作为优化生产应用的关键工具。在.NET 8中,微软已针对Web API应用(采用webapiaot模板)进行了裁剪和AOT优化。展望.NET 9,微软正在努力将这些优化工作扩展到其他类型的应用,并改善所有ASP.NET Core应用的DATAS GC。
与Azure Container Apps合作伙伴共同工作,微软将确保.NET 9 应用在基于Kubernetes的环境中可以轻松地扩展到多个实例。微软正与他们合作,确保诸如反伪造和授权令牌等临时数据通过数据保护安全加密,同时改进速率限制API,保证每个节点内外的最佳行为。
去年.NET Conf上展示的eShop参考架构示例应用将获得更新,以利用.NET 9整个开发周期中演进的新能力和部署选项。
云原生开发者的工具
为了支持并增强云平台、Native AOT、.NET Aspire以及Azure部署,Visual Studio合作伙伴计划进行一系列的工具改进。
Native AOT代码编译需要使用许多.NET开发者不太常用的工具。目前,希望实现跨平台编译的开发者(例如在Windows上面向Linux编译)通常依赖于Docker和/或WSL2,正如文档和示例所指导的那样。Visual Studio将扩大对AOT的支持,使更多开发者能够轻松访问Native AOT。
Visual Studio 和 Visual Studio Code将包括针对.NET Aspire的新开发和部署体验。这将包括组件配置、调试(包括热重载)AppHost和子进程,并与开发者仪表板完美集成。开发者将能够利用Visual Studio、Visual Studio Code,以及Azure Developer CLI(azd)将他们的项目部署到Azure Container Apps。
.NET与人工智能
OpenAI激发了开发者利用人工智能转型应用的热情。过去一年间,Azure OpenAI与.NET一起被用于创建AI解决方案,其中Microsoft Copilot尤其受到欢迎。微软将继续与寻求用C#技能构建这类新应用的客户进行合作,并快速投资于AI平台。
在.NET 8 中,微软的投资范围扩大到ML.NET之外,重点关注AI工作负载,投入资源制作入门示例和文档,与AI生态系统合作伙伴协作,为像Qdrant和Milvus这样的向量数据库提供C#客户端,以及协作开发Semantic Kernel之类的库。还为.NET添加了TensorPrimitives。
展望.NET 9 ,微软承诺将使.NET开发者将人工智能更加轻松地集成到现有和新应用中。开发者将能够利用强大的库和文档,与OpenAI以及托管和本地的OSS模型进行协作,将继续在Semantic Kernel、OpenAI 和 Azure SDK上进行合作,确保.NET开发者在构建智能应用时能够享受到一流的体验。
微软计划在.NET 9发布过程中不断更新GitHub上的ChatGPT + 企业数据与Azure OpenAI和Cognitive Search .NET示例。
.NET 9 待办事项
在同一时期,将交付.NET SDK中所有运行时和工具组件的众多新特性、项目和实验。您可以在GitHub上查询.NET 9项目待办事项列表,查看您最喜欢的产品领域和特性。正在对这些特性进行评估,并随着项目进展进行更新。每当预览版本中发布新功能时,都将更新.NET 9发布说明。
尝试.NET 9 预览版1
.NET 9 预览版1现已正式开放下载。未来,将在GitHub讨论区发布预览版本。的.NET博客内容将重点突出.NET 8 的优势,以支持您在生产环境中使用.NET 8。
.NET Aspire预览版3也随之推出。此版本包括对仪表盘UI的改进,以及新增对Azure OpenAI、Kafka、Oracle、MySQL、CosmosDB和Orleans等组件的支持。
如果您不愿意使用预览版本,请参阅.NET 8的发布帖子。我们已经收到了关于早期.NET 8部署的大量积极反馈。对于从.NET 8(甚至更早版本)迁移到.NET 9 来讲,将是一个非常简单方便的过程。
致谢
正是因为您们——.NET社区中的每一位成员——的参与和推动,使得.NET变得如此出色。微软想感谢每一个通过提交问题、发表评论、贡献代码、创建包,参加直播,以及在线上和本地活动中积极参与的人。在.NET 9 的发布说明中,您会发现每一版都有社区成员的亮点展示。
就像扬帆.NET 9 一样,每篇技术博文都应该承载丰富的信息并激发共鸣。发现问题、分享技术、合作创新、不断进步,正是微软作为.NET领域中一位积极倡导者的使命所在。希望这篇文章能为您带来启发,并激励您借助新技术迎接挑战。在数字技术的巨浪中,让我们携手.NET 9 一起乘风破浪,迎接美好的未来。