.NET周刊【7月第4期 2025-07-27】

国内文章

记一次.NET MAUI项目中绑定Android库实现硬件控制的开发经历

https://www.cnblogs.com/GreenShade/p/18998698

本文介绍了基于.NET MAUI的机器人控制应用开发经历。作者选择.NET MAUI因其跨平台特性,并详述了环境准备、项目背景及技术架构。文中提到使用的RobotSDK功能,包括运动控制、传感器监听、表情控制和语音播放。整体架构设计清晰,展示了MAUI界面层、服务接口及平台服务的关系。文中的技术选型和架构设计符合实际需求,对相关开发者有参考价值。

为大模型 MCP Code Interpreter 而生:C# Runner 开源发布

https://www.cnblogs.com/sdcb/p/19003720/csharp-runner-mcp

文章介绍了一个名为C# Runner的开源项目,旨在为大语言模型(LLM)提供一个高性能和高安全性的C#代码执行平台。作者希望C#能在AI领域与Python平起平坐。C# Runner可以在毫秒级内安全执行C#代码,解决了常规dotnet运行的性能瓶颈和安全隐患。它采用了Docker的Host-Worker架构,确保代码隔离执行,同时通过实时流式反馈提升用户体验。该项目展现了C#在AI应用中的潜力,目标是让C#在全球的AI浪潮中获得一席之地。

官方文档没告诉你的:通过抓包,深入揭秘MCP协议底层通信

https://www.cnblogs.com/sdcb/p/18995424/mcp-http-insights

本文探讨了MCP(Model Context Protocol),这是一个由Anthropic发起的开放协议,旨在标准化应用程序与大型语言模型的连接。MCP如同USB-C接口,为数据源和工具提供标准化的方法。尽管不清晰地基于JSON-RPC 2.0,官方文档对HTTP请求响应格式未做详细说明,令开发者困惑。本文通过C#实例,展示如何使用ModelContextProtocol NuGet包实现MCP,同时解释客户端和服务端的实现细节。这为开发者提供了有价值的实践参考。

.NET 使用 DocNET 库快速高效的操作 PDF 文档

https://www.cnblogs.com/Can-daydayup/p/18995012

本文介绍了如何在 .NET 中使用 DocNET 库高效操作 PDF 文档。DocNET 是一个跨平台、开源的 PDF 操作库,具有 PDF 提取和编辑功能。支持获取 PDF 信息、分割、合并及转换等操作,增强了文档处理能力。通过示例代码,读者可以学习如何获取 PDF 页码、文本内容以及如何将 JPEG 图片转换为 PDF 文件。此外,还可以将 PDF 文件转换为图片,满足多种应用需求。本文内容简明扼要,适合开发者快速上手。

还在手写JSON调教大模型?.NET 9有新玩法

https://www.cnblogs.com/sdcb/p/19001777/dotnet9-json-schema

.NET 9新增加对JSON Schema的原生支持,使得生成和使用JSON Schema变得简单。通过JsonSchemaExporter,开发者可以轻松将C#类转换为JSON Schema,从而有效验证数据结构。在与大语言模型交互时,JSON Schema确保数据格式的准确性和可靠性。示例中,定义了Book类及如何生成其JSON Schema。此外,结合OpenAI的功能,借助.NET 9的工具,开发者能够更简便地管理输出格式。这一变革显著提高了开发效率,降低了错误风险。

面试时该如何做好自我介绍呢?附带介绍样板示例!!!

https://www.cnblogs.com/Can-daydayup/p/19003624

本文探讨了.NET开发者面试中的自我介绍技巧。自我介绍是面试中的关键环节,展示岗位匹配度和个人能力至关重要。推荐控制在1-2分钟内,内容应简明扼要,层次分明,并用具体数据支撑项目经历。提前了解岗位要求,融入相关关键词,以提高自我介绍的针对性。真实性原则也很重要,确保内容与简历一致。通过清晰的表达和自信的态度,可以给面试官留下良好印象。

从WebApi迁移到Minimal API?有了这个神器,小白也能10分钟搞定!

https://www.cnblogs.com/fanshaoO/p/19000630

本文介绍了如何从传统WebApi迁移到Minimal API,推荐使用MiniController作为过渡工具。传统WebApi功能丰富但复杂,Minimal API轻量快捷。迁移前需安装MiniController及相关依赖,并确认使用ASP.NET Core 6.0以上版本。迁移过程仅需三步:更改特性标签为[MiniController],去掉ControllerBase继承,及可选地将IActionResult替换为IResult。最后,通过简单的代码行注册MiniController服务,实现快速配置。

我给 AI 接上了一个 C# 运行器,结果它学会了自己上网、调试代码

https://www.cnblogs.com/sdcb/p/19005212/cs-runner-in-llm

本文介绍了开源项目C# Runner,这是一个强大的C#代码运行器,支持MCP协议,能够允许大语言模型通过API执行C#代码。文中讨论了大模型在进行精确计算时产生的"幻觉"问题,并提供了解决方案,即将C# Runner接入大模型,赋予其灵活的执行能力。通过代码示例,展示了如何使用MCP协议获取工具的功能定义,这使得大模型能够与外部工具有效互动。该项目旨在提升AI进行复杂计算时的准确性和可靠性。

抛开官方库,手撸一个轻量级 MCP 服务端

https://www.cnblogs.com/sdcb/p/18996305/mcp-impl

文章深入探讨了MCP协议的底层通信,通过抓包揭示了其握手、响应机制和错误处理。分析了ModelContextProtocol.AspNetCore NuGet包的依赖性,尤其关注预览版包的风险。作者提议实现一个无预览依赖的轻量级MCP服务端,以加深对协议的理解。目标是保持工具定义的简洁性和直观性,提供简单的功能示例,助于开发者的实践和学习。

C#解析JSON数据全攻略

https://www.cnblogs.com/ymtianyu/p/18997451

本文介绍了如何使用C#方便地处理网络API返回的JSON数据。首先,强调了JSON在现代Web API中的重要性。然后,详细讲解了通过HttpClient获取数据、动态解析JSON、强类型模型转换及处理特殊字符和日期格式的方法。提供了代码实例,说明了使用System.Text.Json的最佳实践,并提醒开发者注意常见错误和性能问题。最后,整合了完整的可运行代码,帮助开发者更好地理解JSON解析。

C#/.NET/.NET Core技术前沿周刊 | 第 47 期(2025年7.14-7.20)

https://www.cnblogs.com/Can-daydayup/p/18996490

这篇文章介绍了C#/.NET/.NET Core领域的最新技术动态,包括开源项目和学习资源。内容涉及美观易用的WPF UI控件库、DocNET库用于PDF操作、新的Visual Studio解决方案文件格式、强大的电子表格组件ReoGrid、遵循Material Design的Blazor组件库MASA Blazor以及成功开发者的关键实践。此外,还提到支持多语言的交易管理系统TradingSystem。整体上,文章强调了技术前沿信息的重要性和对开发者的实用性。

一款超级经典复古的 Windows 9x 主题风格 Avalonia UI 控件库,满满的回忆杀!

https://www.cnblogs.com/Can-daydayup/p/19005546

Classic.Avalonia是一个经典复古的Windows 9x主题风格的Avalonia UI控件库,基于.NET开源。Avalonia框架允许开发者在多个平台上创建应用,确保统一的界面体验。安装办法简单,通过NuGet包安装Classic.Avalonia.Theme,并在App.axaml中替换为经典主题,使项目使用此主题。该项目被收录在C#/.NET优秀项目精选中,易于开发者获取最佳实践和最新动态。

一款基于 .NET 开源免费、轻量快速、跨平台的 PDF 阅读器

https://www.cnblogs.com/Can-daydayup/p/19001723

Caly 是一款开源免费的跨平台 PDF 阅读器,基于 .NET 开发,使用 Avalonia UI、SkiaSharp 和 PdfPig 技术,具有轻量快速的特点。它在 Windows、macOS 和 Linux 上无缝运行,并支持极简用户界面、多标签页管理、快速导航、文本选择与复制、强大搜索、缩略图视图、书签和缩放功能。虽然当前处于 alpha 阶段,但项目已测试 Windows 和 Linux 版本,计划未来优化 Android 和 iOS 支持。项目源代码和下载地址可在 GitHub 上找到。

[WPF]在WPF中使用ObservableCollections显示Microsoft.Extensions.Logging的日志信息

https://www.cnblogs.com/echo-sama/p/18995636

本文介绍了通过引入ObservableCollection库改进日志显示的实现。首先定义LogMessage实体,包含LogLevel和EventId等属性。接着,通过接口ILoggerMessageHolder以及ObservableFixedSizeRingBuffer存储LogMessage,实现日志的可观察性。文中详细描述了LogMessageProcessor的实现,包括创建工作线程处理消息队列,并将WriteMessage方法中的Console输出改为LogMessage容器的添加。此方法提高了日志处理的效率和可维护性。

大模型的JSON之殇:从脆弱的API调用到稳健的未来

https://www.cnblogs.com/sdcb/p/19005634/llm-json-hard

这篇文章探讨了大模型工具调用中JSON格式的挑战。LLM生成的JSON因引号和特殊字符转义问题导致频繁出错。面对这种不确定性,业界已发展出多层次的缓解策略。首先,通过提示工程提高模型生成正确格式的概率。其次,利用主流AI框架(如Semantic Kernel)简化开发,这个框架与C#紧密结合,使用反射机制生成与解析JSON Schema,降低了因格式问题带来的复杂性和失败率。文章对构建可靠的AI应用提供了实用见解,说明了对JSON的深刻理解与应用。整体上,文章内容丰富且具有实际意义。

推荐 6 款基于 .NET 开源的串口调试工具,调试效率提升利器!

https://www.cnblogs.com/Can-daydayup/p/19006888

本文介绍了6款基于.NET的开源串口调试工具,旨在提升开发者的调试效率。项目包括LLCOM、Wu.CommTool、BYSerial、PLC-CommunTools、SerialDebug和OSDA,涵盖多种功能如串口调试、自动化处理、协议信息交换等。这些工具都在GitHub和Gitee上开源,读者可访问链接以获取更多信息。选取这些优秀项目有助于开发者学习和了解实时通讯调试的最佳实践,鼓励项目的分享和推荐。

【EF Core】为 DatabaseFacade 扩展"创建"与"删除"数据表功能

https://www.cnblogs.com/tcjiaan/p/19007218

本文讨论了如何使用EF Core的功能创建或删除数据库表。尤其是通过IMigrationsSqlGenerator接口、自定义Migration操作以及IRelationalConnection接口来实现数据库与表的操作。文章强调依赖注入和面向对象编程在数据库管理中的重要性,详细解释了MigrationCommand的生成与执行过程,便于开发者利用EF Core进行数据库操作。

解锁C#异步编程:async/await实战指南,告别卡顿烦恼

https://www.cnblogs.com/ymtianyu/p/19000359

本文深入探讨C#异步编程,强调其在提升应用响应速度方面的重要性。主要内容包括async/await的工作原理,以及文件、网络和数据库的异步操作示例。作者指出,使用异步方法可以避免UI线程的阻塞,并提供实用的避免死锁和异常处理技巧。此外,文章提供了完整的异步下载器代码,进一步展示了异步编程的高效性。

.NET SDK 9.0.200引入对SLNX解决方案文件的支持

https://www.cnblogs.com/powertoolsteam/p/18999003

本文介绍了.NET和Visual Studio解决方案文件的新格式SLNX及其优势。SLNX基于XML,克服了传统.sln文件重复信息多、结构复杂的问题,提供更小的文件体积和更好的可读性。文章讨论了如何从.sln迁移到.slnx格式,包括准备工作和命令行迁移示例。SLNX还增强了版本控制友好性和未来可扩展性。使用dotnet CLI可高效管理SLNX解决方案,文章简明扼要,适合开发者学习新格式操作与应用。

Abp vNext -动态 C# API 实现原理解析

https://www.cnblogs.com/yuxl01/p/18092437

文章介绍了使用C#和ABP框架创建Http服务的过程。作者讨论了如何定义服务接口,以及动态HttpClient的使用,以简化远程服务调用。文中强调了接口规范的重要性,以避免代码重复和降低错误率。通过示例,展示了如何实现接口和调用远程服务。作者认为,认真阅读官方文档能够帮助学习者掌握技术要领,进而提高技术水平。

jsonb 为什么会影响 System.Text.Json

https://www.cnblogs.com/MeteorSeed/p/18996544

文章讨论了使用 System.Text.Json 进行多态反序列化时遇到的问题,特别是在将属性映射到 jsonb 类型时。作者指出,当 json 中的类型鉴别器($type)不是第一个属性时,反序列化可能会失败,导致异常。分析了 json 和 jsonb 的存储特性,说明了属性顺序变化引发的错误。最后,作者提供了解决方案,建议设置 AllowOutOfOrderMetadataProperties 属性为 true,或升级到更高版本以解决该问题。

c#运用ZeroMq发布订阅和RPC函数代理的优点结合成一个新的实用的通讯

https://www.cnblogs.com/Aiden-nb/p/18998708

该文章探讨了使用ZeroMq的发布订阅模式与RPC函数代理机制的结合,意在简化通讯模块的实现。文章中提供了代理的初始化和启动示例,以及如何封装客户端代码以实现多对多的通讯。通过构建代理,用户可以有效管理订阅者和事件发布,提高系统的灵活性和可扩展性。整体结构清晰,技术深度适中,提供了具体的代码实现,具有一定的实用价值。

使用Semantic Kernel实现Claude Code的Agents TODO能力

https://www.cnblogs.com/token-ai/p/18999837

本文探讨如何通过Microsoft Semantic Kernel框架实现Claude Code的TODO能力,旨在提升开发者的项目管理和编程效率。Claude Code利用任务代理架构,对任务进行智能分解和状态管理。文章详细解析了Claude Code的并行任务处理流程及其智能任务编排特性,包括自动任务识别和基于项目上下文的智能建议。此外,MarkAgents项目展示了在.NET 9.0下如何实现Claude Code的功能,提供了核心组件的设计和TODO数据模型的实现。

结构型模式-架构解耦与扩展实践

https://www.cnblogs.com/dayue-bc/p/18996788

本文探讨了结构型模式在分布式系统中的适应性改造,着重分析适配器、桥接、组合、装饰器、外观、享元及代理七种模式。适配器模式通过封装不同接口,实现异构系统集成,支持多注册中心适配。桥接模式则通过分离抽象与实现,解耦业务逻辑与底层通信协议。文章详述了每种模式在分布式环境中的应用实例与设计思路,强调接口统一与迁移的灵活性,提供实践价值。

OpenDeepWiki:AI驱动的代码知识库文档生成技术深度解析

https://www.cnblogs.com/token-ai/p/18999052

OpenDeepWiki利用AI技术自动分析Git仓库,生成高质量的技术文档。该项目采用现代化分层架构,分为前端和后端,并且集成AI服务。文档生成流程包括克隆仓库、代码扫描、项目分类、目录优化和内容生成等步骤。项目通过REST API实现各组件间的交互,最终将生成的数据持久化至数据库。整体设计提高了文档编写的效率,解决了传统手动编写导致的时间和质量问题。

【译】10 款微软 MCP 服务器,加速您的开发工作流程

https://www.cnblogs.com/MeteorSeed/p/19002849

这篇文章探讨了模型上下文协议(MCP)及其对开发效率的提升。MCP 服务器允许人工智能助手直接访问外部工具与数据,提高开发人员的工作效率。文章介绍了多个可用的 MCP 服务器,强调它们提供实时支持,减少开发中的中断。作者指出,MCP 标准促进了供应商间的互操作性,确保开发者可以无缝使用不同工具。文章也提到,自定义和集成自己的 MCP 服务器的易用性,以及如何利用这些工具优化工作流程,给出了丰富的实例和应用场景。

多Agent协作入门:群聊编排模式

https://www.cnblogs.com/edisontalk/p/-/quick-start-agent-orchestration-groupchat

本文介绍了在Semantic Kernel中实现群聊编排模式。通过群管理员协调Agent间的对话,适用于会议和协作场景。文中通过实例演示了如何创建并实现两个Agent,广告文案写手和编辑审稿人。使用.NET控制台项目集成相关包并进行配置。作者提供了具体的代码示例,包括APP设置和LLM API配置,以便于读者进行实验。整体结构清晰明了,便于理解和应用。

主题

Aspire 9.4 现已推出 CLI 和交互式仪表板功能 - .NET 博客

https://devblogs.microsoft.com/dotnet/announcing-aspire-9-4/

.NET Aspire 9.4 现已推出。

此版本包括"aspire"命令 (CLI) 正式发布、对自定义仪表板中交互交互的支持、GitHub Models/Azure AI Foundry 托管、外部资源、YARP 集成等。

IDE、. NET Tools、dotUltimate 和 All Products Pack 订阅价格上涨(2025 年 10 月 1 日生效) | JetBrains 博客

https://blog.jetbrains.com/ja/blog/2025/07/31/increased-subscription-pricing-for-ides-net-tools-dotultimate-and-the-all-products-pack/

公布 JetBrains IDE 和工具的订阅价格。 新价格将于 2025 年 10 月 1 日生效。

新的 Dependabot NuGet 更新程序:使用本机 .NET 速度提高 65% - .NET 博客

https://devblogs.microsoft.com/dotnet/the-new-dependabot-nuget-updater/

关于 Dependabot 的 NuGet 更新程序的更新,它更准确,速度提高了 65%。

以前的 NuGet 更新程序是 Ruby 的 XML 分析机制,但新的更新程序使用 .NET 实现本身,从而提高了性能和可靠性。 此外,现在还可以受益于可传递包冲突解决、对global.json的支持、对中央包管理的支持以及对外部 NuGet 源的支持。

宣布推出社区工具 - 面向所有人的免费工具 · AvaloniaUI/阿瓦洛尼亚 · 讨论 #19379

https://github.com/AvaloniaUI/Avalonia/discussions/19379

宣布推出 Avalonia Accelerate(开发支持工具)社区版。

从 9 月开始,XAML 编辑、开发工具和可视化设计器等功能将免费提供。

.NET 赏金计划现在提供高达 40,000 美元的奖励 | MSRC 博客 | Microsoft 安全响应中心

https://msrc.microsoft.com/blog/2025/07/.net-bounty-program-now-offers-up-to-40000-in-awards/

.NET 赏金计划现在提供高达 40,000 美元的奖励。

赏金计划的覆盖范围扩大了,奖金金额也增加了。 本文列出了特定漏洞的最大补偿。

发布

文章、幻灯片等

C# - 扩展关联

https://zenn.dev/chai0917/articles/f696b1a9e7eb75

说明 Windows 扩展关联中使用的信息设置位置。

🚀 WinUI OSS 更新:分阶段推出开放协作 · 微软/微软-UI-xaml · 讨论 #10700

https://github.com/microsoft/microsoft-ui-xaml/discussions/10700

逐步推出 WinUI 以实现开源和开放协作。

在 MVVM 中实现 .NET MAUI(MVVM 工具包)

https://zenn.dev/y_a_y/articles/maui_mvvm_b9685efa3cc1eb

使用 MVVM 工具包在 .NET MAUI 应用程序中实现 MVVM 的简单步骤。 以下文章还讨论了使用 .NET MAUI 社区工具包实现 MVVM。

使用持久功能实现深度研究

https://zenn.dev/microsoft/articles/durable-functions-workflow

一个关于如何在 Durable Functions 中实现 Deep Research 示例代码的故事。

[Blazor] 根据浏览器的语言设置切换显示文本

https://zenn.dev/lilytechlab/articles/e89ea991992722

了解 Blazor Web 程序集如何根据浏览器的语言设置本地化页面上的文本。

使用外部登录和核心身份 ASP.NET - 奇达

https://qiita.com/omt_teruki/items/91e8db690a5b0c385aa1

ASP.NET 通过外部登录实现核心身份,例如使用 Google 登录。

.NET 10 中的重大变更:从 .NET 8 迁移指南

https://www.gapvelocity.ai/blog/dotnet8-to-dotnet10-migration-guide

.NET 10/C# 14 中的重大更改列表。

2025 年 Rx.NET 包装计划 | 端金

https://endjin.com/what-we-think/talks/rxdotnet-packaging-plan-2025

Rx.NET 打包计划的视频和文字记录。 我们正在准备和原型测试套件以解决包膨胀的问题,我们计划对包进行划分。

提升 Aspire 版本 - Qiita

https://qiita.com/KM_20005/items/48065454f7723b04cfa1

说明如何升级 .NET Aspire。

可以在任何地方运行的 C# 脚本现在可以使用基于文件的应用程序和 dotnet publish 来实现! (预览版)

https://zenn.dev/suusanex/articles/0aab5a6533dc29

关于预览版 6 中支持的基于文件的应用中的 AOT 生成("dotnet run app.cs")和"dotnet publish"。

Visual Studio Copilot 中更智能的 AI 编辑 - Visual Studio 博客

https://devblogs.microsoft.com/visualstudio/smarter-ai-edits-in-visual-studio-copilot/

了解 Visual Studio 中 Copilot 中 AI 支持的编辑改进。

使用 React 和 Aspire 构建全栈应用程序:分步指南 - .NET 博客

https://devblogs.microsoft.com/dotnet/new-aspire-app-with-react/

使用 .NET Aspire (Web API) 和 React 构建 TODO 应用程序的分步指南。

在 VS LIVE 上观看直播:Visual Studio Toolbox! Redmond 2025 - Visual Studio 博客

https://devblogs.microsoft.com/visualstudio/watch-live-visual-studio-toolbox-at-vs-live-redmond-2025/

VS直播! 了解 Redmond 2025 上的 Visual Studio Toolbox 直播。

使用 dnx 运行一次性 .NET 工具:探索 .NET 10 预览版 - 第 5 部分

https://andrewlock.net/exploring-dotnet-10-preview-features-5-running-one-off-dotnet-tools-with-dnx/

运行 .NET 10 预览版 6 中引入的 .NET 工具的"dnx"命令的详细说明。

Foundry Local 的本地 LLM 与 OpenAI API 兼容,可以从 CLI 以外的来源轻松调用(还有一个用于 C# 的 SDK)。

https://zenn.dev/suusanex/articles/139ce768546ae9

了解如何使用 Foundry Local 运行本地 AI 以及如何使用 SDK for C#。

WinUI 3 的优点

https://zenn.dev/shinta0806/articles/winui3-advantages

WinUI 3 的优势简介。

尝试从 AutoMapper 迁移到 Mapster

https://zenn.dev/karamem0/articles/2025_07_28_130000

关于使用修改后的许可证从 AutoMapper 迁移到 Mapster。

C# .NET 交流群

相信大家在开发中经常会遇到一些性能问题,苦于没有有效的工具去发现性能瓶颈,或者是发现瓶颈以后不知道该如何优化。之前一直有读者朋友询问有没有技术交流群,但是由于各种原因一直都没创建,现在很高兴的在这里宣布,我创建了一个专门交流.NET性能优化经验的群组,主题包括但不限于:

  • 如何找到.NET性能瓶颈,如使用APM、dotnet tools等工具
  • .NET框架底层原理的实现,如垃圾回收器、JIT等等
  • 如何编写高性能的.NET代码,哪些地方存在性能陷阱

希望能有更多志同道合朋友加入,分享一些工作中遇到的.NET问题和宝贵的分析优化经验。目前一群已满,现在开放二群。 可以加我vx,我拉你进群: ls1075 另外也创建了QQ Group: 687779078,欢迎大家加入。

相关推荐
InCerry1 天前
.NET周刊【7月第3期 2025-07-20】
.net周报·.net周刊
InCerry20 天前
.NET周刊【7月第2期 2025-07-13】
.net周报·.net周刊
InCerry22 天前
.NET周刊【7月第1期 2025-07-06】
.net周报·.net周刊
InCerry1 个月前
.NET周刊【6月第5期 2025-06-29】
.net周报·.net周刊
InCerry1 个月前
.NET周刊【6月第4期 2025-06-22】
.net周报·.net周刊
InCerry2 个月前
.NET周刊【5月第4期 2025-05-25】
c#·.net·.net周刊
InCerry2 个月前
.NET周刊【5月第3期 2025-05-18】
.net周报·.net周刊
InCerry2 个月前
.NET周刊【5月第2期 2025-05-11】
c#·.net周报·.net周刊
InCerry3 个月前
.NET周刊【5月第1期 2025-05-04】
.net周报·.net周刊