- Dev Blogs
- .NET中文官方博客
.NET中文官方博客
免费、 跨平台、 开源。一个用于构建所有应用程序的开发人员平台
Latest posts

为 .NET 的 AI 评估解锁新的可能性

本文翻译自Wendy Breiding的Unlock new possibilities for AI Evaluations for .NET Microsoft.Extensions.AI.Evaluations 库旨在简化AI评估流程与应用程序的集成。它提供了一个强大的框架,用于评估您的 AI 应用程序并自动评估其性能。 去年11月,我们发布了该库的公开预览版。今天,我们很高兴地宣布,它现已在 dotnet/Extensions 存储库中开源。该代码仓库中包含了一套提供开发生产就绪应用所需的常用功能的库。通过向所有人开放该资源,我们希望帮助开发者更高效地在项目中利用 AI 的强大能力。 新的示例代码 为了帮助您快速上手 Microsoft.Extensions.AI.Evaluations 库,我们发布了一系列新示例代码。这些示例展示了多种应用场景,并演示如何高效利用该库的功能。无论您是经验丰富的开发者,还是刚刚踏上 AI 之旅的新手,这些示例都能为您提供宝贵的见解和实践指导。您可以在我们的 GitHub 代码仓库中查看这些示例。我们鼓励您深入探索、动手实践,并与我们分享您的反馈。您的贡献和意见对我们持续优化和扩展库的功能至关重要。 Azure DevOps 插件简介 希望将 AI 评估集成到您的 Azure DevOps 管道中?我们很高兴地宣布在Marketplace中推出了插件。该插件...

引入对SLNX的支持,.NET CLI 中更简洁的解决方案文件格式

本文翻译自Chet Husk的Introducing support for SLNX, a new, simpler solution file format in the .NET CLI 多年来,解决方案文件已成为 .NET 和 Visual Studio 体验中的一部分,并且它们一直拥有相同的自定义格式。最近,Visual Studio 解决方案团队已开始预览一种新的基于 XML 格式的解决方案文件格式,称为 SLNX。从 .NET SDK 9.0.200 开始, CLI 支持生成这些文件并与之交互,其方式与使用现有解决方案文件的方式相同。在本文的其余部分,我们将展示如何迁移到新格式,探索 dotnet CLI 对该格式的新支持,并讨论该格式走向正式发布的后续计划。 快速开始 在 SDK 9.0.200 之前,创建 SLNX 文件的唯一方式是通过 Visual Studio 设置。勾选 设置后,用户可以将现有的 .sln 文件另存为新的 .slnx 格式。 SDK 9.0.200 提供了一个命令来执行相同的迁移操作:。 让我们从一个非常简单的解决方案和项目设置开始,看看迁移的具体步骤。首先,我们创建一个新的解决方案: 现在,我们将创建一个项目并将其添加到解决方案中: 现在,让我们将解决方案转换为新格式: 新格式基于 XML 格式,比旧格式简洁得多——但包含所有相同...

.NET AI 模板现已提供预览版

本文翻译自Jordan Matthiesen的.NET AI Template Now Available in Preview 想要开始 AI 开发,却不确定从哪里入手?我给您带来了一个好消息——我们全新的 AI 聊天 Web 应用模板现已提供预览版!这个模板是我们不断努力的一部分,旨在通过在Visual Studio,Visual Studio Code 和 .NET CLI 中提供脚手架和指导,让使用 .NET 进行 AI 开发变得更容易上手。 请注意,该模板目前为预览版,未来版本可能会根据您的反馈和 AI 的快速发展进行调整。 立即安装模板 如果想要开始使用该模板的首个预览版,您需要在终端中安装 Microsoft.Extensions.AI.Templates。只需运行: 安装完成后,该模板即可在 Visual Studio,Visual Studio Code(需安装 C# Dev Kit)中使用,或者您也可以在工作目录中运行命令 来创建它。 入门指南:.NET AI 聊天模板 .NET AI 聊天模板旨在帮助您快速构建一个基于 AI 的聊天应用来使用自定义数据进行对话。此次首个版本注重基于 Blazor 的 Web 应用,并使用 Microsoft.Extensions.AI 和 Microsoft.Extensions.VectorData 抽象库构建。该模板采用了常见...

.NET MAUI在 .NET 9 中的性能功能

本文翻译自 Jonathan 和 Simon 的 .NET MAUI Performance Features in .NET 9 .NET 多平台应用 UI (.NET MAUI) 随着各个版本的发布而不断发展,与此同时,.NET 9 重点引入了裁剪功能和一个新的受支持运行时:NativeAOT。这些功能可以帮助您减少应用程序大小、提高启动速度,并确保应用程序在各个平台上流畅运行。无论是希望优化 .NET MAUI 应用的开发者,还是 NuGet 包的作者,都可以在 .NET 9 中使用这些功能。 我们还将向开发人员介绍可用于测量 .NET MAUI 应用程序性能的选项。CPU 采样和内存快照可分别通过 和 获得。这些工具可以帮助您深入了解应用程序、NuGet 包的性能问题,甚至是我们需要关注的 .NET MAUI 问题。 背景 默认情况下, iOS 和 Android 上的 .NET MAUI 应用程序使用以下设置: 完全裁剪 这就是完全裁剪()能影响应用程序大小的地方。如果您的应用包含大量 C# 代码或 NuGet 包,您可能正在错失大幅减少应用程序体积的机会。 要选择完全裁剪,您可以将以下内容添加到 文件中: 以下是完全裁剪的影响示例: 有关完全裁剪的更多信息,请参阅我们的裁剪 .NET MAUI 文档。...

使用Chroma构建.NET AI应用

本文翻译自 Luis 和 Jiri 的 Building .NET AI apps with Chroma 无论您是构建 AI 解决方案还是想使用高级搜索功能增强现有项目,您现在都可以使用 Chroma 作为 .NET 应用程序中的数据库提供程序。 什么是Chroma? Chroma 是一款适用于人工智能应用程序的开源数据库。 借助对存储嵌入、元数据过滤、向量搜索、全文搜索、文档存储和多模式检索的支持,您可以使用 Chroma 在应用程序中支持语义搜索和检索增强生成(RAG)功能。 有关更多详情,请访问 Chroma 网站。 在 C# 应用程序中使用Chroma 在本示例中,我们将使用 ChromaDB.Client 来连接到 Chroma 数据库并使用向量搜索来搜索电影。 最简单的开始方式是在本地使用 Chroma Docker 映像。您也可以在 Azure 中部署实例。 连接数据库 当使用托管版本的 Chroma 时,请将 替换为您的托管端点。 创建集合 现在您有了客户端,请创建一个集合来存储电影数据。 要对该集合执行操作,您需要创建一个集合客户端。 向集合中添加数据 创建集合后,就可以向其中添加数据了。我们存储的数据包括: 搜索电影(使用向量搜索) 现在您的数据已存储在数据库中...

增强 Razor 生产力的新功能

本文翻译自Leslie Richardson的New Features for Enhanced Razor Productivity! 如果您现在正在使用 Razor 构建 Web 应用,我们为您带来了一些令人兴奋的新功能,无论您使用的是 Visual Studio 还是 Visual Studio Code,您都会爱上这些新功能!现在,您可以使用名为“将元素提取到新组件”的重构功能,以及全新的基于 Roslyn 的 C# 分词器,这些功能旨在提升您在 Razor 文件中的开发效率。让我们一起来看看吧! 将元素提取到新组件 将元素提取到新组件是 Visual Studio 17.12 中提供的一项全新的重构功能,它可以自动化创建新 Razor/Blazor 组件的过程。您无需手动创建新文件并复制/粘贴代码,只需选中想要提取的代码(或标签),然后点击灯泡图标并选择将元素提取到新组件即可完成提取操作。该功能让创建可复用组件变得更加简单,有助于保持代码整洁,提高可维护性。 在该功能的首个版本中,提取为组件功能主要支持基础的、以 HTML 为主的代码提取场景。不过,我们计划在未来添加更多改进和支持更高级的场景(例如更一致地处理涉及变量依赖、C# 代码、参数等的提取)。 Roslyn C# 分词器 C# 分词器/词法分析器的更新显著提升了 Razor 对 C# 代码的处理能力。许...

.NET 9 网络优化

本文翻译自 Máňa, Natalia 和 Anton 创作的 .NET 9 Networking Improvements 秉承我们的传统,我们很高兴与您分享这篇博客文章,以介绍新的 .NET 版本中网络领域相关的最新动态和最有趣的变化。今年,我们带来了 HTTP 领域的改变、新的 HttpClientFactory API、.NET Framework 兼容性优化等更多内容。 HTTP 在接下来的部分中,我们将介绍 HTTP 领域最具影响力的变化。其中包括连接池的性能优化、对多个HTTP/3连接的支持、Windows代理的自动更新,以及重要的社区贡献。 连接池 在此版本中,我们对HTTP连接池进行了两项显著的性能优化。 我们增加了对多个HTTP/3连接的可选支持。根据RFC 9114标准文档,由于连接可以多路复用并行请求,因此不鼓励使用多个HTTP/3连接到对等端。然而,在某些场景下,例如服务器到服务器的通信,即使请求多路复用,单一连接也可能成为瓶颈。我们在 HTTP/2 中看到了这样的限制(dotnet/runtime#35088),它同样具有在单一连接上多路复用的概念。出于同样的原因(dotnet/runtime#51775),我们决定为HTTP/3实现多连接支持(dotnet/runtime#101535)。 该实现本身尽可能贴近 HTTP/2 多连接机制的行为。当前,它的策略是优...

立即使用 .NET 和 DeepSeek R1 构建智能应用程序!

本文翻译自Matt Soucoup的Build Intelligent Apps with .NET and DeepSeek R1 Today! 最近,DeepSeek R1 模型引起了广泛关注。我们被频繁问到的一个问题是:“我能在 .NET 应用程序中使用 DeepSeek 吗?”答案是:当然可以!接下来,我将带您了解如何通过 GitHub Models 上的 Microsoft.Extensions.AI(MEAI)库与 DeepSeek R1 结合使用,让您能够立即开始体验 R1 模型的功能。 MEAI 让使用 AI 服务变得简单 MEAI 库提供了一套统一的抽象和中间件,以简化 AI 服务在 .NET 应用程序中的集成。 换句话说,如果您使用 MEAI 开发应用程序,无论底层使用的是哪种模型,您的代码都将使用相同的 API。这降低了构建 .NET AI 应用程序的难度,因为无论使用哪个 AI 服务,您只需记住一个库(即 MEAI)的操作方式。 对于 MEAI,您将主要使用的接口是 。 与 DeepSeek R1 聊天 GitHub Models 允许您尝试大量不同的 AI 模型,而无需担心托管问题。这是免费开启 AI 开发之旅的绝佳方式。GitHub Models 还会不断更新新模型,例如 DeepSeek 的 R1。 我们要构建的演示应用是一个简单的控制台应用程序...

.NET 9 中的 OpenAPI 文档生成

本文翻译自Mike Kistler的OpenAPI document generation in .NET 9 .NET 9 中的 ASP.NET Core 通过引入全新的对OpenAPI 文档生成功能的内置支持,简化了为 API 端点创建 OpenAPI 文档的过程。这项新功能旨在简化开发工作流程,并改善 OpenAPI 定义在 ASP.NET 应用中的集成。 OpenAPI 的广泛使用催生了丰富的工具和服务生态系统,它们能够帮助您更高效地构建、测试和记录 API。例如,Swagger UI、Kiota 客户端库生成器和 Redoc 等,当然还有许多其他工具。 为什么选择 OpenAPI? OpenAPI 是定义和记录 HTTP API 的强大工具。它提供了一种标准化方式来描述 API 的端点、请求和响应格式、身份验证方案以及其他重要细节。这种标准化使开发人员能够更轻松地了解和与API进行交互,从而促进更好的协作并构建更强大的应用程序。 此外,许多大型语言模型(LLMs)已在 OpenAPI 文档上进行了训练,使其能够自动生成代码、测试用例和其他工件。通过为您的 API 生成 OpenAPI 文档,您可以利用这些 LLM 来加速开发流程。 .NET 9 中的新功能? 在 .NET 9 中,我们引入了对 OpenAPI 文档生成功能的内置支持,为 .NET 开发人员提供了更集成、更流畅的体验。此...