国内文章
dotnet 10 已知问题 构建 WPF 时提示 System.Private.Windows.GdiPlus 程序集未找到错误
https://www.cnblogs.com/lindexi/p/19224133
本文记录 dotnet 10 的已知问题,将会导致 WPF 项目构建的时候给出错误
dotnet C# 警惕结构体加等事件
https://www.cnblogs.com/lindexi/p/19240284
前几天我在对文本库进行性能优化,将其中一个枚举迭代器从类改成结构体,然而改造之后却遇到了本文记录的在结构体内加等事件的坑
《上海市卫生健康"信息技术应用创新"白皮书》C#/.NET "A 组件"认定事件始末与最终结果
https://www.cnblogs.com/shanyou/p/19665927
《上海市卫生健康信息技术应用创新白皮书》将 C#/.NET 定义为'A 组件',意味着必须逐步淘汰该技术,转向自主可控技术。这一决策引发技术社区质疑,认为白皮书未能反映 C#/.NET 自 2014 年以来已实现的开源转型及其治理结构的独立性。对此,社区指出,该分类影响公立医院的 IT 系统建设和采购决策。社区批评白皮书对 C#/.NET 的认定基于过时理解,未考虑技术进步,因此认为 Categoria A 的划分不合理,可能导致技术资源的浪费。
重塑 WPF 辉煌?基于 DirectX 12 的现代.NET UI 框架 Jalium
https://www.cnblogs.com/ruo1101/p/19664140
Jalium 是一个实验性项目,将 WPF 与现代图形技术结合,基于 DirectX 12 重构 WPF 核心,面向.NET 10 开发。它不是简单封装,而是从零构建的完整 UI 系统,覆盖 WPF 开发者熟悉的各种功能,包括依赖属性、布局引擎和动画系统。架构采用八层模块,提供超过 87 个控件,支持先进的 GPU 加速渲染。JALXAML 标记语言类似 XAML,提供高性能编译选项。视觉效果上,Jalium 支持现代特效,如高斯模糊和自定义着色器,具备灵活的主题样式,可与系统主题自动匹配。Jalium 代表了一次现代化的 WPF 重写。
.NET 开源工作流:Slickflow 流程自动化运行技术指南
https://www.cnblogs.com/slickflow/p/19658368
Slickflow.NET 是基于 .NET 的开源工作流引擎,支持人工审批和流程自动化。流程自动化不同于人工流程,能在启动后自动顺序执行所有节点。文章面向开发者,探讨了流程自动化的底层逻辑及架构,讲解了代码定义和运行流程的方式。自动化运行依靠引擎循环执行可执行活动,直到流程结束,无需人工插入。文章还展示了整体架构,说明了内存执行与数据库存储之间的差异,适合处理数据流水线和 AI 对话编排等场景。
ClaimsPrincipal 序列化为 Json 的正确姿势
https://www.cnblogs.com/zhaorong/p/19662410
本文探讨了在现代 .NET 应用中,ClaimsPrincipal 对象的序列化问题。ClaimsPrincipal 封装了用户身份信息,但由于其内部结构复杂,不易直接进行 JSON 序列化。文章提供了解决方案,包括手动提取关键声明、自定义转换器及完整的序列化/反序列化策略,帮助开发者在微服务或审计日志等场景中处理用户身份信息。通过源码分析,文章详尽阐述了类的结构,促进了理解和应用。
新手保姆级教程:OpenClaw 自动化操作浏览器!
https://www.cnblogs.com/jinjiangongzuoshi/p/19673570
本文介绍了 OpenClaw,一个自托管的 AI Agent 网关,旨在解决传统浏览器自动化工具(如 Puppeteer、Playwright、Selenium)的不足。OpenClaw 支持 CDP 协议的远程连接,提供 CLI 与 AI Agent 的双模式控制,具有便捷的浏览器管理和可视化界面。文章详细描述了 OpenClaw 的架构、安装步骤及快速上手的使用方法,并强调了其独立浏览器配置和与现有 Chrome 标签的控制能力。OpenClaw 在提高自动化效率的同时,还能更好地与 AI Agent 集成,是一个实用的工具。
并发编程进阶:volatile、内存屏障与 CPU 缓存机制详解
https://www.cnblogs.com/cnoneblog/p/19669267
本文详细探讨了 volatile 关键字在并发编程中的重要性,并深入剖析了其与 CPU 缓存模型和内存屏障之间的关系。作者通过代码示例展示了未使用 volatile 时共享变量的可见性问题,阐明了 CPU 缓存的工作机制及其带来的缓存一致性问题。文章从基础概念出发,引导读者理解关键概念及其在实际编程中的应用,强调在多线程环境下如何安全高效地编写代码。
Microsoft Agent Framework 详解与实践
https://www.cnblogs.com/mumaren/p/19666928
Microsoft Agent Framework 是微软开源的 AI 代理开发工具,支持.NET 和 Python,用于构建智能 AI 代理和多代理工作流。其设计结合了 AutoGen 和 Semantic Kernel 的特性,核心功能包括会话状态管理、类型安全和多代理编排。文章提供了 AI 代理和工作流的定义,适用场景以及其核心特性,同时强调了在面对确定性任务时,应直接编写函数。该框架当前处于公开预览阶段。
MAUI 嵌入式 Web 架构实战(一) 在 MAUI 应用中嵌入 PicoServer 构建本地 HTTP 服务
https://www.cnblogs.com/densen2014/p/19670893
本篇文章介绍如何在 MAUI 应用中嵌入 PicoServer 本地 Web 服务。随着 Hybrid App 技术的发展,本地应用可以直接提供 HTTP 服务,形成新架构。文章强调 MAUI 与 PicoServer 的结合,允许构建 REST API、Web Admin 后台和 Hybrid App 架构等功能。通过提供完整实例,读者将学习如何在 MAUI 中实现本地 HTTP 服务,具备跨平台特性和良好的扩展性。最后,文章详细介绍了项目创建及 PicoServer 的安装与启动过程,为后续的架构扩展打下基础。
.NET SqlSugar 多线程下 SqlSugarClient 的线程安全陷阱
https://www.cnblogs.com/kybs0/p/19674369
使用 SqlSugar 读取 Sqlite 数据库时,偶发性抛出连接错误异常。排查连接字符串无误,确认数据库文件存在。分析线程后发现并发访问问题,多个线程共享同一 SqlSugarClient 实例,导致连接竞争和错误。建议将 SqlSugarClient 替换为线程安全的 SqlSugarScope,以解决此问题。
C#/.NET/.NET Core 优秀项目和框架 2026 年 2 月简报
https://www.cnblogs.com/Can-daydayup/p/19675105
本文介绍了几个基于 C#/.NET 技术的优秀开源项目。ClassIsland 是一个跨平台的课表展示系统,适用于智慧教室。Bogus 是一款假数据生成库,方便进行单元测试和示例生成。Magic.NET 是一个权限管理平台,搭建高效的 RBAC 系统。ExplorerTabUtility 增强了 Windows 11 文件管理器的多窗口功能,提升工作效率。RestAirline 是一个经典领域驱动设计的示例项目,使用 ASP.NET Core 开发。这些项目均具有高度的实用性和技术深度。
C#/.NET/.NET Core 技术前沿周刊 | 第 67 期(2026 年 2.01-2.28)
https://www.cnblogs.com/Can-daydayup/p/19661088
这篇文章围绕 C#及.NET 技术,介绍了多个开源项目和学习资源,包括假数据生成库 Bogus、权限管理平台 Magic.NET、课表展示系统 ClassIsland 及文件资源管理器增强工具 ExplorerTabUtility。文章强调了这些工具在开发中的实用性和技术便捷性,涵盖了性能优化及内存管理的新技术,如 C#中的 Span 和 Memory。这些内容为开发者提供了最新的技术资料和实践案例,帮助他们提升工作效率和技术理解。
MAF 快速入门(18)Agent Skill 快速开始
https://www.cnblogs.com/edisontalk/p/-/quick-start-on-maf-chatper18
本文探讨了 Agent Skill 的概念及其在 MAF 开发中的应用。Agent Skill 是自然语言的标准操作程序,旨在避免重复劳动,提升工作效率。文中详细描述了 Skill.md 的结构及其渐进式披露设计理念,强调了按需加载的重要性。通过减少 Token 消耗和提高模型处理效率,Agent Skill 与 MCP 互为补充,协同指导 Agent 在处理数据时的执行。为了实用,文章还提供了.NET 应用程序中实现 Agent Skill 的示例,展示了如何创建和配置技能。整体内容深入浅出,有助于开发者理解 Agent 功能。
MAUI 项目在 Android 平台通过 U 盘实现软件更新
https://www.cnblogs.com/sesametech-dotnet/p/19674963
该项目使用 MAUI 开发,旨在通过 Android 工控机实现功能控制,支持串口操作和 U 盘软件升级。文章详细说明了 Android 7 之后的安全限制,介绍了如何配置 FileProvider,以及在 AndroidManifest.xml 中添加必要的权限。提供了具体的代码示例和文件路径配置,强调安全性和功能的实现。整体内容简练,具有实用价值,适合开发者参考。
SQL Server 数据库服务器内存问题排查
https://www.cnblogs.com/bcodepod/p/19675908
文章讨论了 SQL Server 数据库服务器内存占用过高的问题及解决方案,包括快速处理、根源排查和永久优化方案。文中建议清除缓存以快速恢复、杀掉阻塞查询,并通过多种 SQL 查询监控内存使用情况。此外,配置最大内存和优化索引与查询也被提及,以避免系统内存被 SQL Server 占满。最后,建议建立监控预警机制以确保稳定运行。
从 TypeScript 到 C#:Codex SDK 的跨语言移植实践
https://www.cnblogs.com/newbe36524/p/19685138
这篇文章记录了将 TypeScript Codex SDK 移植到 C# 的过程。由于项目需要在 .NET 环境中使用,因此选择实现原生 C# SDK,而不是维护复杂的 Node.js 桥接层。文章详细介绍了两种 SDK 的架构设计对比和类型系统的转化,强调了在保持 API 一致性的同时,充分利用 C# 的语言特性。作者通过具体示例展示了两者之间的映射关系,解释了使用 record 代替 class 的原因,以确保事件对象的不可变性,清晰且实用。
一款使用 C# 编写专为 Windows 11 打造的文件资源管理器增强工具!
https://www.cnblogs.com/Can-daydayup/p/19665180
ExplorerTabUtility 是一款专为 Windows 11 文件资源管理器设计的工具,使用 C# 编写并开源,旨在改善多窗口管理。它能够将新窗口自动转换为标签页,保持文件管理简洁。该软件支持功能如标签复制、封闭标签恢复、以及窗口吸附等,极大提升用户在文件操作时的效率。该项目已被收录在 C#/.NET 优秀项目中,提供 GitHub 开源地址供访问与支持。
如何通过 C# 实现 PDF 文本提取?
https://www.cnblogs.com/jazz-z/p/19659783
在办公和开发中,PDF 文本提取需求频繁,传统方法需依赖外部组件,效率低。本文介绍了使用免费库 Free Spire.PDF for .NET 的高效 PDF 文本提取方法。不需要安装 Adobe Reader,支持加密文件,简化开发复杂度,同时提供完整 API 文档与中文社区支持。具体步骤包括环境准备、核心代码示例及高级应用,展示如何轻松提取指定页文本或处理加密 PDF。代码示例简明易懂,适合个人和小型项目使用。
MAUI 库推荐五:Maui.PDFView
https://www.cnblogs.com/sesametech-dotnet/p/19664866
该项目是一个用于在 Android、iOS、MacOS 和 Windows 平台上显示 PDF 文件的库,基于.NET MAUI 框架。用户可通过 Nuget 安装,并在 MauiProgram 中添加.UseMauiPdfView()方法来启用 PDF 视图。示例中展示了如何在 XAML 中确定 PDF 视图的属性,包括是否横向显示、文件路径、最大缩放等级和当前页码设置。ViewModel 部分用于处理 PDF 文件路径,支持用户更改文件路径。此组件简化了不同 PDF 数据源的处理,确保代码的清晰与简洁。
Slickflow.NET 基于 AI 大模型实现智能客服多轮问答系统
https://www.cnblogs.com/slickflow/p/19669586
本文介绍基于 Slickflow.NET 工作流引擎与 AI 大模型的智能客服系统。系统由前端 aichatapp 和后端 aichatbackend 组成,具有多轮对话、RAG 增强回答及客户信息提取等功能。通过流程自动化,系统无须人工干预。文章详细描述了问答的调用链和流程节点,使用 BPMN 定义流程自动化执行。Slickflow.NET 引擎在智能客服场景中展示了高效性和可追溯性,支持多行业运作,适合自动化客服及知识问答应用。文章引用了相关文档,提供技术实施的指导。整体结构清晰,信息丰富且具实用性。
ML.NET 快速入门与实践教程:开源机器学习框架
https://www.cnblogs.com/shenchuanchao/p/19658147
本文介绍了 ML.NET 的快速入门,重点讲解了机器学习框架的基本概念和实践案例。作者阐述了 ML.NET 的功能、安装及其核心概念如 MLContext、IDataView 和训练器。此外,通过学生考试成绩预测的例子,详细描述了数据准备、模型训练和预测流程。ML.NET 适用于 .NET 开发者,支持多种 .NET 环境,帮助用户轻松集成机器学习功能。
Maui 实践:Go 接口以类型之名,给 runtime 传递方法参数
https://www.cnblogs.com/zhally/p/19658595
这篇文章探讨了 Go 语言的接口设计及其与静态语言(如 C#)的比较。文章强调,静态语言和动态语言的主要区别在于类型校验的时机,而非类型的存在与否。静态语言在编译期进行类型校验,确保运行时高效;而动态语言则在运行时解析类型,提供灵活性。本文还讨论了静态语言如何实现动态多态,介绍了 C++ 的虚函数机制以及 Java 和 C#如何通过类型指针和方法表实现高效的动态调度。整体上,文章展示了 Go 语言在类型系统和运行时性能之间的平衡。
【译】Visual Studio 二月更新
https://www.cnblogs.com/MeteorSeed/p/19659149
本月的 Visual Studio 更新专注于提升开发效率,特别是在人工智能辅助、调试和现代化方面。新的功能包括针对 WinForms 的专家代理,提供最佳实践和设计建议,还有智能测试生成功能,通过 GitHub Copilot 快速生成 C# 单元测试。此外,用户可以使用斜杠命令自定义提示词以提高工作效率。新版本还引入了 C++ 应用现代化功能,并改善了调试体验,如在 IEnumerable Visualizer 中使用 DataTip 展示对象属性。整体而言,这些更新大幅简化了开发流程。
PipelinR:在 Java 中实现优雅的 CQRS 架构
https://www.cnblogs.com/zhaorong/p/19503542
文章介绍了 CQRS(命令查询职责分离)的概念,指出其通过将写操作和读操作分离,提高性能与可扩展性。使用 CQRS 可以优化读写数据架构,增强系统安全性并简化模型,减少复杂度。文章还提到 PipelinR,作为 CQRS 的一种实现方式,基于中介者模式,用于解耦应用组件并支持消息传递。文章提供了 Maven 和 Gradle 的依赖安装示例,以及在 Spring 项目中的配置代码。内容清晰,实用,技术深度适中,适合开发者参考。
C# 驱动的开源无人机机载飞控算法
https://www.cnblogs.com/shanyou/p/19687343
本文探讨 C#在无人机飞行控制系统中的应用与挑战。传统上,飞行控制系统主要使用 C 和 C++ 等低级语言,但随着嵌入式微控制器性能的提升,C#成为新选择。C#提供内存安全、快速原型及丰富库支持,但其垃圾回收机制引入的非确定性让高频控制变得复杂。文章分析了通过零分配内存管理、NoGCRegion API 等技术实现 C#飞控的可行性,探讨了未来在无人机领域应用的发展趋势。
国际周报
发布 v1.0.0 · ModelcontextProtocol/csharp-SDK
https://github.com/modelcontextprotocol/csharp-sdk/releases/tag/v1.0.0
MCP C# SDK 版本 1.0.0 已发布。 这个版本将是第一个稳定版本。
Cake v6.1.0 发布
https://cakebuildnet.medium.com/cake-v6-1-0-released-c767ec542a08
Cake v6.1.0 已经发布。
本版本支持 FormattableString 日志、Cake.SDK 中的进程中 NuGet 客户端,以及 。 新增功能如 SLNX 支持。
Windows 应用开发 CLI v0.2:支持.NET、manifest 占位符、"winapp store"等! - #ifdef 窗户
Windows 应用开发 CLI v0.2 已发布。
该版本支持一流的 .NET 支持,可以通过在包含 .csproj 的文件夹中运行 'winapp init' 命令来设置,同时改进了 manifest 占位符、'winapp store' 命令和帮助消息。
发布
- App-vNext/Polly
- aws/aws-sdk-net
- Azure/azure-sdk-for-net
- Azure.Data.AppConfiguration_1.9.0, Azure.Extensions.AspNetCore.Configuration.Secrets_1.5.0,Azure.Identity.Broker_1.4。 0, Azure.ResourceManager_1.14.0,Azure.ResourceManager.Batch_1.6. 0,Azure.ResourceManager.Communication_1.3。 1,Azure.ResourceManager.ContainerService_1.3。 1,Azure.Security.KeyVault.Administration_4.7。 0, Azure.Security.KeyVault.Keys_4.9. 0
- googleapis/google-cloud-dotnet
- modelcontextprotocol/csharp-sdk
- 开放遥测/开放遥测点网贡献
文章、幻灯片及更多内容
在 C#中构建一个近零分配搜索索引引擎以媲美 Lucene.NET
以下是我实施的技术描述,灵感来自 Lucene.NET 以减少纯 C#搜索引擎的分配。
使用 C# 中的宏
https://zenn.dev/sator_imaging/articles/0ac6bf76bafe2a
关于实现使用源生成器实现宏/模板等 C#的想法。
点洞察 | 2026 年 3 月 | .NET 工具博客
https://blog.jetbrains.com/dotnet/2026/03/04/dotinsights-march-2026/
JetBrains 2026 年 3 月.NET 信息汇总。
Application Insights SDK v2 / v3 / OpenTelemetry Distro - Qiita 中 Azure Monitor 日志输出的比较验证
https://qiita.com/kaneko_hiroki/items/3b4b3dec315137b37e5a
验证 Application Insights SDK v2 和 v3 在使用 OpenTelemetry Distro 输出日志到 Azure Monitor 时的差异。
TUnit 现在在测试报告中捕获 OpenTelemetry 的痕迹
https://medium.com/@thomhurst/tunit-now-captures-opentelemetry-traces-in-test-reports-cf0ed728fae4
引入 TUnit 能够通过 ASP.NET 核心测试集成捕获遥测和追踪数据,并将其输出为报告。
关于 GCHandle 的备忘录。AddrOfPinnedObject()
https://zenn.dev/shinta0806/articles/addrofpinnedobject
GCHandle.AddrOfPinnedObject() 与其他固定对象方法的区别解释及其使用方法。
支持.NET 8 上的 ZStandard 请求/响应压缩 - Qiita
https://qiita.com/karuakun/items/140aadfe07cf844c0b04
解释了如何在 .NET 8 ASP.NET Core 中使用 ZStandard 支持请求/响应压缩。 文章展示了使用 ZstdNet 包的步骤。
[.NET] ILogger 很难理解,所以我用图表和代码整理了它------Qiita
https://qiita.com/DNS-hayase/items/5529c3c2c79231425d7c
关于 Microsoft.Extensions.Logging 中 ILogger 接口和类关系的解释。
线缆安全无锁/易失/互锁
https://zenn.dev/sator_imaging/articles/47611b807bc2b4
介绍在大多数情况下减少对 dotnet/运行时数组读取次数的锁范围。
我如何在一个服务器上零停机地部署 Convert.FAST
解释了在一台服务器上部署服务时不中断更新流程。
[MSIX] 如何打包单个项目 MSIX - Qiita
https://qiita.com/0x5bfa/items/6ef1bee4894679a5c66b
使用 MSIX 进行单项目打包的说明。
.NET 11 .NET MAUI 预览:用 Inline C# 表达式简化 XAML | Syncfusion 博客
https://www.syncfusion.com/blogs/post/csharp-expressions-xaml-dotnet11-maui
引入了在 .NET 11 预览版中引入的 XAML 属性中直接编写 C# 表达式的功能。
. dotnet add package 命令已在 NET9 SDK 中更改为 dotnet package add 命令 - tech.guitarrapc.cóm
https://tech.guitarrapc.com/entry/2026/03/03/230000
解释了在.NET SDK 9 及之后版本中,'dotnet add package'命令改为'dotnet package add'命令的原因。
[C#] 关于结构对齐。 - Neno 的花园。
https://blog.neno.dev/entry/2026/03/01/210540
关于.NET 运行时结构体对齐的解释。 文章解释了哪些规则决定了对齐。
C# 的轮换班
https://zenn.dev/radian_jp/articles/f942968eeae0a8
如何在 C#中进行旋转移位,并用 JIT 进行优化。
将 Aspire 整合进现有项目的简约方法
https://timdeschryver.dev/blog/a-minimal-way-to-integrate-aspire-into-your-existing-project
解释将 Aspire 集成到现有项目中的流程,以及事后整合服务默认值、容器、部署等。
实现 .NET nanoFramework -- .NET 的 VS Code 调试所需要的 纳米框架
解释了我们如何实现 .NET nanoFramework for Visual Studio Code 的调试功能。
文章还提到,使用 GitHub Copilot 实现后,开发时间有所缩短。
库、仓库、工具等
努格茨
jsakamoto/Toolbelt.Blazor.WebAssembly.ExtensibleDevServer.UserSecretsExtension:一个支持在 Blazor WebAssembly 独立项目中使用用户秘密的扩展 使用 Toolbelt.Blazor.WebAssembly.ExtensibleDevServer。
https://github.com/jsakamoto/Toolbelt.Blazor.WebAssembly.ExtensibleDevServer.UserSecretsExtension
一个服务器扩展,允许你在本地运行 Blazor WebAssembly 项目时使用用户秘密。
anderspedersen/DumpLinq:DumpLinq 是一个用于查询 .NET 内存转储的库,使用熟悉的 LINQ 语法。 它建立在 ClrMD 之上,提供更高级的抽象,简化了导出过程的导航。
https://github.com/anderspedersen/DumpLinq
一个允许你以类似 LINQ 风格查询.NET 内存转储的库。
XenoAtom/XenoAtom.Terminal.UI:XenoAtom.Terminal.UI 是一个现代的、响应式的保留模式终端 UI 框架,适用于 .NET
https://github.com/XenoAtom/XenoAtom.Terminal.UI/
一个用于创建反应式且丰富的终端界面应用的框架。
tsoniclang/tsonic:通过 NativeAOT 编译 TS 到本地代码
https://github.com/tsoniclang/tsonic
一个将 TypeScript 转换为 C#并使用 NativeAOT 原生代码的工具。
还有一些互作机制,比如使用 .NET 的 BCL。
推特
https://x.com/_h0x0d_/status/2027409113232413133?s=12
今日人物
威廉·墨顿·卡韩(英语:William Morton Kahan,1933 年 6 月 5 日---),生于加拿大安大略多伦多,数学家与计算机科学家,专长于数值分析。1989 年图灵奖得主,1994 年被提名为 ACM 院士。现为加州大学柏克莱分校计算机科学名誉教授。卡韩是 IEEE 754-1985 浮点数运算架构规格书的主要架构师,IEEE 754 系列的标准主要依据他的研究而制定,因此被称为浮点数之父。

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