国内文章
一个基于 .NET 开源、功能强大的分布式微服务开发框架
https://www.cnblogs.com/Can-daydayup/p/19161812
本文介绍了基于 .NET 的开源分布式微服务开发框架 Anno.Core,旨在简化微服务系统建设。该框架支持高性能的 RPC 通信协议,包括 gRPC 与 Thrift。功能包括服务注册中心、健康检查、负载均衡、调用链追踪等。项目还包含 Viper,这是一种基于 Anno.Core 的示例 Dashboard。本文强调了事件总线、CQRS 与 DDD 支持等模块化设计,提升了系统的可维护性和扩展性。文章链接提供了源代码和更多项目介绍,鼓励读者关注和参与开源社区。
Berry.Live:开箱即用的.NET 直播流媒体服务器
https://www.cnblogs.com/donpangpang/p/19157482
Berry.Live 是一个基于 .NET 9 的开源流媒体服务器,支持快速搭建直播平台。它提供了简单的克隆和运行流程,兼容多种推流端和拉流端协议。管理界面直观,允许实时监控和数据统计,适合教育、企业、游戏及远程医疗等场景。技术架构现代,支持微服务和容器化部署,确保高并发处理和良好性能。Berry.Live 的最大优点在于其开箱即用的特性,用户只需几分钟便可搭建系统。整体上,它是一款高效、跨平台和易于使用的直播解决方案。
从零开始: C#轻松预览 PDF 文件-支持跨平台 AOT 友好
https://www.cnblogs.com/luojin765/p/19160879
本项目对 PdfiumViewer 库进行了改写,分离和精简了其 PDF 解析功能,以支持任意程序调用生成渲染后图片。改造后的库兼容 Winform 和后端调用,并开源。项目基于 PDFium 库,解决了原有库对 WPF 框架的强依赖,使其更易于集成。通过封装,用户只需传入页码和尺寸等参数即可快速渲染 PDF 页面。最后,在 Avalonia 中实现了一个简单的 UI,以展示渲染效果,适合于多种场景的使用。整体上,改造提高了库的通用性和实用性。
.NET 驾驭 Word 之力:基于规则自动生成及排版 Word 文档
https://www.cnblogs.com/mudtools/p/19152884
这篇文章介绍了 MudTools.OfficeInterop.Word 库,该库简化了使用 Microsoft Word 的 COM 组件。此库使开发者可以以面向对象的方式自动生成和排版 Word 文档。文章详细说明了环境准备、库的基本使用及合同条款的自动生成,强调基于规则的合同生成,提高了效率和一致性。开发者可以使用简单的 API 创建和操作 Word 文档,包括创建空白文档和基于模板生成文档。此库适合需要大量生成标准化合同的场景。
致敬 1024,《手搓》轻量级 EventBus
https://www.cnblogs.com/xiangji/p/19162095
本文介绍了.NET 中的 MediatR 及其在事件处理中的基本概念与实现。首先,定义了事件、事件发布器、事件处理器、事件分发器和事件总线等关键术语。接着,通过示例说明如何使用 INotification 表示事件,INotificationHandler 表示事件处理器,IMediator 作为事件发布器和事件总线的双重角色。示例中的代码实现了事件的创建与异步发布,并展示了多处理器的异步处理效果,强调了 MediatR 在事件驱动架构中的实用性与高效性。总体而言,本文结构清晰,内容具体,技术深度适中。
ASP.NET Core Blazor 简介和快速入门二(组件基础)
https://www.cnblogs.com/shenchuanchao/p/19151711
本文介绍了 Blazor 组件的生命周期,分为初始化、运行和销毁三个阶段。生命周期方法包括 SetParametersAsync、OnInitialized、OnParametersSet、OnAfterRender 等。前五种方法为虚方法,Dispose 用于清理。StateHasChanged 用于强制组件刷新。创建了代码示例以展示如何使用 SetParametersAsync 方法处理父组件传递的参数。强调初始化过程应与参数值变化无关,确保组件稳定运行。内容通俗易懂,适合 C#开发者学习 Blazor 组件的生命周期。
记一次 .NET 某药品缺陷高速检测系统 卡慢分析
https://www.cnblogs.com/huangxincheng/p/19157509
这篇技术文章探讨了内存管理与分析,特别是在程序内存达到 2GB 阈值后性能下降的问题。文章通过朋友的案例引入,利用高级调试技巧分析内存布局,并提供了内存使用概况和堆统计信息。文章强调整合零散信息的重要性,展示了内存中各部分的使用情况,以及如何通过 dump 进行分析,提供了清晰的步骤和实用的建议。
ASP.NET Core Blazor 路由配置和导航
https://www.cnblogs.com/shenchuanchao/p/19160108
本文介绍了 Blazor 单页应用的路由机制,包括基础路由配置、路由参数处理和编程式导航。使用 @page 指令定义 URL 映射,支持动态参数和约束。通过 NavigationManager 实现页面跳转,配合路由事件监听和嵌套路由布局,提供更加复杂的解决方案。示例代码涵盖用户管理和产品展示等场景,展示了从基础到高级的实现方式,适合开发者学习和应用 Blazor 路由。
AIReview 实战:用 AI 把代码评审提质提速
https://www.cnblogs.com/donpangpang/p/19152230
该文介绍了 AIReview 项目,旨在提高代码评审效率和质量。文章详细阐述了解决评审过程中存在的低效率、标准不一、反馈不系统和重复劳动等问题的方法。AIReview 利用多模型 LLM、模板定制、异步分析等技术,实现代码评审的自动化与结构化。文章还介绍了系统的关键能力,如多维度分析、智能建议生成和实时协作。整套流程包括项目创建、Git 集成、评审执行和经验沉淀,强调了降低成本与优化效率的能力。最后提供了技术架构简介,适合开发者了解如何使用该系统。
Roslyn 技术解析:如何利用它做代码生成?
https://www.cnblogs.com/yuxl01/p/19149053
本文介绍了 Roslyn 的源代码生成器(Source Generator),该功能在编译期间自动生成 C#代码并与项目无缝集成。源生成器通过自定义规则生成代码,减少手动代码编写,提高效率。作者通过示例展示了如何定义部分类和可选方法,说明了源生成器的实际应用。文章强调了源生成器与 Roslyn 的关系,以及其在编译过程中的自动调用机制。最后,作者鼓励读者提出问题并希望与之交流学习。
在 .NET 9 中使用 Mapster 快速、高效的实现对象映射
https://www.cnblogs.com/Can-daydayup/p/19153572
本文介绍了如何在 ASP.NET Core 9.0 Web API 中使用 Mapster 实现对象映射。该过程能显著减少重复代码,提高开发效率,避免错误。Mapster 是一个开源的.NET 对象映射库,使用简单且高效。文中详细描述了 Mapster 的安装方法,包括通过 NuGet 包管理器和.NET CLI 安装。作者提供了源对象和目标对象的示例代码,展示了如何通过 Mapster 快速完成映射,降低人为错误和维护成本。整体内容具有较强的实用性和清晰度。
WPF/C#:使用 Stylet 中的 IWindowManager 用于显示等待窗体、对话框与消息框
https://www.cnblogs.com/mingupupu/p/19157515
本文探讨了在 WPF 应用中显示等待框、对话框和信息框的意义与应用。等待框能让用户理解程序未崩溃,提升体验;对话框捕获用户焦点,确保重要任务的完整性,同时提升界面的简洁性;信息框则提供关键操作的即时反馈,帮助用户迅速决策。文章还介绍了 Stylet 框架的优势,它简化了 MVVM 开发,减少了样板代码,提高了开发效率。通过使用 Stylet 的 IWindowManager,开发者可以方便地实现等待窗体的功能。
Maui 实践:让 JavaScript 的 this 怪物如同邻居家(强类型)的乖孩子
https://www.cnblogs.com/zhally/p/19152352
本文探讨了 C#和 JavaScript 中 this 的不同处理。C#中的 this 行为稳定,始终与当前类实例关联,编译期锁定,方便开发。而 JavaScript 中的 this 由于动态绑定,指向依赖于调用方式,易出现错误。作者通过实例展示了二者在继承、事件回调中的具体表现,强调 JavaScript 的 this 在某些情况下表现为怪物,缺乏强类型语言的安全性。最终,作者指出了这两种语言在处理 this 时的本质差异。
C#/.NET/.NET Core 技术前沿周刊 | 第 58 期(2025 年 10.13-10.19)
https://www.cnblogs.com/Can-daydayup/p/19158896
这篇文章探讨了 C#/.NET/.NET Core 的最新技术动态和实用资源,包括更新解决方案格式、处理 ASP.NET Core 的安全漏洞、创建和发布 NuGet 包等。报道了多个有价值的项目,如 YiShaAdmin 权限管理系统和使用 Microsoft Agent Framework 的终端助手。该内容重视技术深度和实用性,适合开发者关注。总结涉及的技术前沿和开发工具,有助于提升开发技能与安全意识。
ManySpeech.MoonshineAsr 使用指南
https://www.cnblogs.com/manyeyes/p/19153890
ManySpeech.MoonshineAsr 是一个专为 moonshine 模型推理设计的语音识别组件,使用 C# 开发,支持多种 .NET 环境和跨平台编译。用户可通过 NuGet 安装,使用简单。组件支持三种识别方式,包括离线识别和流式识别。支持内置 VAD 功能,也可自定义模型路径进行调用。示例代码和项目引用方式清晰,适合开发者快速集成。
记一次 .NET 某光放测试系统 崩溃分析
https://www.cnblogs.com/huangxincheng/p/19160157
这篇文章讨论了一个关于程序崩溃的问题,特别是 Windows 上使用 Debug 和 Release 模式时的差异。作者介绍了一名朋友的经历,程序在 Debug 模式下正常运行,但在 Release 模式下崩溃,切换到.NET6 后又能正常工作。文章深入分析了崩溃的原因,使用了调试命令来获取异常信息,指出了 CLR 异常的特征以及相应的处理方法。整体分析清晰且具有实用性。
MCP Gateway 综述与实战指南
https://www.cnblogs.com/shanyou/p/19165868
MCP Gateway 是针对 Kubernetes 环境的反向代理和管理层,设计用于会话感知的路由和实例生命周期管理。它具有数据平面和控制平面功能,解决会话粘性和企业安全等问题。MCP 实现了状态保持和高可用性。它通过 RESTful API 支持完整的生命周期管理,确保同一 session_id 请求始终路由到相同实例。此外,项目使用 .NET 8 和 Kubernetes,支持弹性伸缩和企业安全。最后,MCP Gateway 提供了可观测性和统一入口,适用于多模型服务。此技术方案为可扩展、安全的平台构建奠定基础。
《手搓》线程池
https://www.cnblogs.com/xiangji/p/19165106
文章介绍了手搓线程池的概念,其功能并非完全取代系统线程池,而是作为其补充。手搓线程池通过手动实现 TaskFactory 和 TaskScheduler 来创建和管理任务。文中讨论了 ConcurrentTaskScheduler 的实现和使用,展示了如何提高任务的并发处理能力。通过测试,手搓线程池能够实现自动任务调度,并且有效地提升了处理效率。整体来看,手搓线程池在多任务处理场景中表现良好,提供了更灵活的控制。
Microsoft 代理框架简介(预览版):让每个开发人员都能轻松使用 AI 代理
https://www.cnblogs.com/powertoolsteam/p/19152559
Microsoft 代理框架旨在简化人工智能代理的构建,解决了开发人员在编排逻辑和基础设施部署中的难题。该框架为.NET 开发者提供了简洁的 API,允许创建聊天机器人和复杂工作流。其核心概念包括代理和工作流,代理集成推理、上下文和工具,而工作流则将复杂目标分解为可管理步骤。框架基于 Semantic Kernel 和 AutoGen 等成熟技术,确保了可靠性和灵活性。启动项目简单明了,开发者可以很快构建自己的 AI 代理,提升开发效率。
ASP.NET Core Blazor 简介和快速入门三(布局和路由)
https://www.cnblogs.com/shenchuanchao/p/19165809
本文介绍了 Blazor 的布局、路由和条件渲染功能。详细讲解布局组件的创建与应用,包括默认布局 MainLayout 的使用和如何控制某些页面不应用布局。还简要说明了基本的路由配置方法。重点阐述了条件渲染和循环渲染的语法及应用场景,通过学生信息列表等示例展示数据绑定和动态 UI 生成。这些内容为 Blazor 的组件化开发奠定了基础。
为 WPF 应用增加项目图标
https://www.cnblogs.com/mingupupu/p/19151774
本文介绍如何在 WPF 应用中添加项目图标,以 Rouyan 为例。从应用程序图标、窗口图标到系统托盘图标,逐步说明设置过程。首先准备 ico 图标文件,通常在项目中创建 Assets 文件夹存放图标。使用在线工具处理图标后,通过项目属性将图标添加为 WPF 资源。设置应用程序图标影响 exe 和任务栏的图标。通过 Window 中的 ICon 属性设置窗口图标,系统托盘图标则在托盘中展示。这些设置对开发者提升应用外观有帮助。
【URP】Unity 中的[摩尔纹]问题解决方案
https://www.cnblogs.com/SmalBox/p/19154157
摩尔纹是由两个周期性结构干涉生成的视觉干扰条纹。其产生原因包括高频纹理冲突、低分辨率采样和抗锯齿不足。在 Unity URP 中,摩尔纹常见于高频率纹理和特定摄像机角度。解决方案包括启用 MSAA、各向异性过滤、Mipmap Streaming 以及 TAA 等技术。性能与品质需权衡,推荐使用高质量纹理压缩格式。以上方法可有效减少 URP 中的摩尔纹问题,调整参数需考虑场景需求。
Serilog 日志库的简介
https://www.cnblogs.com/hnzhengfy/p/19167414/Serilog_basic
本文比较了 log4net 和 Serilog 两种日志记录库,指出 Serilog 是现代 .NET 项目的首选。Serilog 具有结构化日志记录、简单的 API 和活跃的生态系统,适合于最新的 .NET 应用。相较于 log4net,Serilog 提供更优的配置方式和更多的 Sink 选择。文章重点介绍了 Serilog 的主要特点,如易用性和强大的兼容性,展示了如何生成结构化日志。结合实用性和持续更新,Serilog 成为 .NET 日志记录的未来方向。
Microsoft Agent Framework/C#:了解 Workflows 的几种不同模式
https://www.cnblogs.com/mingupupu/p/19161043
本文介绍了 Microsoft Agent Framework 中的四种工作流模式:Sequential、Concurrent、Handoffs 和 Groupchat。通过构建示例代码,作者展示了如何利用 IChatClient 和 OpenAIClient 设置翻译代理。Sequential 模式通过 AgentWorkflowBuilder 依次组合不同语言的翻译代理。文章强调了通过环境变量配置 API 密钥与基础 URL 的重要性,并提供了具体的代码实现示例。整体内容技术性强,适合有一定编程基础的读者,清晰展现了工作流的构建与执行.
Serilog 基于 Seq 开源框架实现日志分析
https://www.cnblogs.com/dosswy/p/19159138
本文介绍了如何在.NET 环境中使用 Serilog 进行日志管理,包括下载相关的 NuGet 包、搭建 Seq 日志服务,以及创建并实现 Serilog 日志接口。作者详细说明了 Docker 命令行启动 Seq 服务的步骤,并提供了示例代码来实现日志接口和配置参数。通过这些步骤,读者可以有效地使用 Serilog 记录日志,并将日志存储到 Seq 服务或本地文件中。整体内容具有实用性和技术深度。
主题
介绍 .NET 开发人员的自定义代理:C# Expert 和 WinForms Expert - .NET 博客
已发布适用于 .NET 的 GitHub Copilot 自定义代理代理设置(提示)。
此自定义代理包括 C# Expert 和 WinForms Expert,它们应该指导您掌握 C# 的基本编码技能,而 WinForms Expert 旨在指导您了解应用程序(包括 UI)的知识。
这些可以存储在存储库的 .github/agents 文件夹中,并在各种 Copilot 接口中指定。 Visual Studio 2022 支持版本 17.14.21 及更高版本中的自定义代理。
ReSharper 和 Rider 2025.2.4:另一组更新发布 | .NET Tools 博客
https://blog.jetbrains.com/dotnet/2025/10/28/resharper-and-rider-2025-1-4-2/
ReSharper 和 Rider 2025.2.4 已发布。
此版本的 ReSharper 使 TeamCity 扩展恢复可用,并修复了几个错误。 Rider 还修复了一些错误。
了解有史以来最严重的 .NET 漏洞:请求走私和 CVE-2025-55315
ASP.NET 关于 HTTP 请求走私漏洞 CVE-2025-55315 的文章。
本文详细解释了什么是 HTTP 请求走私、它的工作原理、它如何影响它、为什么 .NET 得分以及它的工作原理。
发布
- aws/aws-sdk-net
- Azure/azure-sdk-for-net
- dotnet/机器学习
- googleapis/google-cloud-dotnet
- LuckyPennySoftware/自动映射器
- LuckyPennySoftware/MediatR
- 微软/CsWin32
- newrelic/newrelic-dotnet-agent
- open-telemetry/opentelemetry-dotnet-contrib
文章、幻灯片等
WinUI 社区电话会议:2025 年 11 月 5 日 · 微软 microsoft-ui-xaml · 讨论 #10851
https://github.com/microsoft/microsoft-ui-xaml/discussions/10851
WinUI 社区电话会议将于 2025 年 11 月 5 日举行。
使用 Playwright MCP 测试 Blazor UI - 无代码 E2E 验证
https://zenn.dev/nexta_/articles/playwright-mcp-blazor-test
了解如何使用 Playwright MCP 在不使用代码的情况下测试 Blazor 应用程序的 UI。
如何在 Application Insights 中获取调试日志
https://zenn.dev/microsoft/articles/application-insights-logging
了解如何在包含 Application Insights 的 .NET 应用程序中将调试日志输出到 Application Insights。
C# 中的字符串比较(== 运算符、引用比较、字符串池)
https://qiita.com/okayu__11/items/d8cdc1d0f3a0b99d9c91
本节从运算符重载、引用比较和字符串池的角度介绍字符串比较在 C# 中的工作原理。
当你希望 Azure OpenAI 将输出结构化为 C# 中的两种类型之一时
https://qiita.com/gon_10xw/items/5fccebf1ca5bced9ec99
如何使用 Azure OpenAI 的聊天完成 API 时呈现两种不同类型的结构化输出,并输出其中一种。
让我们看一下 Microsoft 代理框架 (C#) 第 12 部分 让我们创建一个 A2A 就绪代理
https://zenn.dev/microsoft/articles/agent-framework-012
使用 Microsoft 代理框架 (C#) 实现支持代理之间代理到代理交互的代理的步骤。
免费使用! 阿瓦隆加速
https://zenn.dev/inuinu/articles/avalonia-accelerate-community
Avalonia UI 中的工具 Avalonia Accelerate 的非商业版本的说明,以及如何使用它的介绍。
在 NuGet Trusted Publishing 中使用 OIDC 从 CI Tokenless 发布 NuGet 包 - tech.guitarrapc.cóm
https://tech.guitarrapc.com/entry/2025/10/28/093000
了解如何使用 NuGet 受信任发布来发布 NuGet 包,而无需使用 CI/CD(例如 GitHub Actions)中的令牌。 本文介绍了使用 OIDC 的好处、设置步骤和限制。
使用 Discord.NET 对语音通道进行语音数据回放
https://zenn.dev/xin9le/articles/604cd0664c2447
如何使用 Discord.NET 创建一个机器人,将音乐播放到您的 Discord 语音频道。
CLR/H #111 (2025/11/29 13:00〜)
https://clrh.connpass.com/event/367562/
为庆祝 .NET 10 的发布,CLR/H #111 将于 11 月 29 日在札幌举行。
今日人物
查尔斯·威廉·巴赫曼(Charles William Bachman III,1924--2017)是美国计算机科学家,被誉为数据库管理系统领域的奠基人之一,一生都在工业界工作。他出生于堪萨斯州曼哈顿,二战期间服役于太平洋战区防空炮兵,1948 年获密歇根州立大学机械工程学士,1950 年获宾夕法尼亚大学机械工程硕士并完成沃顿商学院部分 MBA 课程。职业历程包括 1950--1960 年在杜邦化学任首任数据处理部主管;1960--1970 年在通用电气开发世界首个随机访问数据库管理系统 Integrated Data Store(IDS),提出著名的 Bachman 图,并推动网络数据库模型标准化;1970--1981 年于霍尼韦尔推进数据库技术应用;1983--1996 年创办 Bachman Information Systems 并开发 CASE 工具。他还主持制定 OSI 七层模型(1978--1982),在 CODASYL 数据库标准化中贡献突出。荣誉包括 1973 年 ACM 图灵奖(对数据库技术的杰出贡献)、1977 年英国计算机学会杰出会士、2012 年美国国家技术与创新奖。他的理念与技术奠定了现代数据库系统架构,对商业计算与事务处理产生深远影响1234。

C# .NET 交流群
相信大家在开发中经常会遇到一些性能问题,苦于没有有效的工具去发现性能瓶颈,或者是发现瓶颈以后不知道该如何优化。之前一直有读者朋友询问有没有技术交流群,但是由于各种原因一直都没创建,现在很高兴的在这里宣布,我创建了一个专门交流.NET 性能优化经验的群组,主题包括但不限于:
- 如何找到.NET 性能瓶颈,如使用 APM、dotnet tools 等工具
- .NET 框架底层原理的实现,如垃圾回收器、JIT 等等
- 如何编写高性能的.NET 代码,哪些地方存在性能陷阱
希望能有更多志同道合朋友加入,分享一些工作中遇到的.NET 问题和宝贵的分析优化经验。目前一群已满,现在开放二群。 可以加我 vx,我拉你进群: ls1075 另外也创建了 QQ Group: 687779078,欢迎大家加入。