国内文章
不服跑个分?.NET 10 大整数计算对阵 Java,结果令人意外
本文通过对比.NET 的 System.Numerics.BigInteger 和 Java 的 java.math.BigInteger,从性能角度深入分析大数运算的速度。作者探讨了在高精度计算和密码学场景下,两者的表现差异。实验涵盖了加法、乘法和模幂的运算,使用相同开发环境,并严格控制测试变量。文章指出.NET 的 BigInteger 在不可变特性下的公平性,探讨了其性能表现的原因,并附带代码示例。整体内容深入且富有思考,对开发者有实用价值。
一个高性能的 .NET MQTT 客户端与服务器库
这篇文章介绍了一个高性能的 MQTT 库,完全用 C#实现。它支持 MQTT 3.1.1 和 MQTT 5.0 协议,具备 Broker 桥接和集群功能。库的核心特性包括高性能异步实现、内存管理先进技术和支持 10,000+ 并发连接。文章深入探讨了内存管理技术如 Span、Memory等,以减少内存压力,并使用 async/await 优化 I/O 操作。适配.NET 6.0、8.0 和 10.0 版本,具有极佳的性能和实用性。文中还强调了库的灵活性与企业级特性,是物联网领域的重要工具。
2025 总结篇,忙碌的日子里越过 35 岁,开启下一个征程
文章讲述了作者在 2024 年工作中的转变与挑战。由于部门重组,作者成为技术负责人,面临管理和开发双重任务。重新学习.NET 5+,并在 Java 系统中进行重构,实施微服务架构,使用 Spring Cloud 和 Nacos 等技术,解决系统复杂性与维护问题。实施项目管理工具提升团队效率,经过一年的努力,成功上线新系统并持续优化。作者从中获得了丰富的技术经验和管理心得,对过去经验有了新的认知。
让 WinForm.NET 再次伟大!一个专门设计用于帮助 WinForms 应用程序迁移到 Blazor WASM 平台的项目
本文讨论了 MWGA 项目,该项目旨在帮助传统 WinForms 应用程序有效迁移至 Blazor WebAssembly(WASM)平台。结合 Blazor 的跨平台特性,MWGA 能够将使用 GDI+ 的应用程序修改量控制在 10% 以内,降低了现代化成本与风险。文章介绍了 WinForms 的背景和实际应用场景,说明了云集成和跨平台访问的需求。作者分享了演示项目的效果,并确认通过 MWGA 迁移后的代码在不同环境下运行逻辑一致。这一项目为企业现代化转型带来了希望,尽管仍需完善。
DBShadow 横空出世,Dapper.net 的天花板盖不住了
DBShadow 是一个高性能的.NET 开源 ORM,利用 ShadowSql 和 PocoEmit.Mapper 高效处理 SQL 拼接和映射。与 Dapper 对比,DBShadow 在速度和内存占用上表现更佳。在.NET 8 环境下,DBShadow 比 Dapper 快 10%,并且支持.NET 10,而 Dapper 不支持。使用 BenchmarkDotNet 进行的对比显示,DBShadow 在多种数据库(如 SQLite 和 MySQL)上均优于 Dapper。此文章详细介绍了两者代码实现和性能比较,为开发者提供了实用的参考和数据支持。
(原创)[C#]【开源】一分钟使用 PicoServer 打造日志服务器
本文介绍了 PicoServer 的使用,适合快速开发 WebAPI 原型。读者可以通过开源项目学习如何搭建日志服务器。文章简洁明了,提供了操作步骤,包括引用 NuGet 包、设计界面和使用说明。PicoServer 简单易用,且体积小,适合特定业务需求。作者强调其轻量级特性,相比 Asp.Net Core 更为便利。适合希望快速实现接口的开发者。
总结归纳.NET 10 中 Minimal APIs 主要应用场景
本文探讨了.NET 10 中的 Minimal APIs,主要应用场景包括高并发读接口、业务能力型 API 和平台级 API 模块化。Minimal APIs 在.NET 6 至 8 中实现了基础功能,并在.NET 9 至 10 中进一步强化,可维护性、可治理性、可扩展性和可工程化性显著提升。其中,Typed Results 消除了返回的模糊性,提高了 OpenAPI 文档的精确度。它还优化了中间件组合能力以及与依赖注入、验证和授权的整合,使得 API 的分层和模块化成为可能,推动企业级 API 的有效构建。
跨越技术鸿沟:Aspire 赋能 JavaScript 与 Node.js 开发者的深度生态融合
本文探讨.NET Aspire 13.0 如何支持 JavaScript 与 Node.js 开发者,通过标准化基础设施解决传统开发中的摩擦。Aspire 引入代码化编排、全链路可观测性及标准化服务发现,简化前后端与微服务的整合。开发者不再需手动处理复杂配置与依赖关系,减少认知负担与操作复杂性。此文详细介绍了现代化 AddJavaScriptApp 的架构演进,并对生产部署与云原生对接提出建议,强调 Aspire 对于多语言生态的价值。整体提升了跨技术栈的开发效率。
WPF 使用 HLSL + Clip 实现高亮歌词光照效果
本文讨论了使用 HLSL 编写文本高亮着色器,以增强歌词显示效果。作者受到 WPF 阳光效果的启发,探索了几种高亮实现方法,最终采用将着色器封装为用户控件的方案。文章介绍了可能遇到的问题,例如文本像素化和性能低下。此外,提供了高亮颜色自定义、宽度调整和模式切换的功能。作者展示了完整的 HLSL 代码及其参数作用,说明了光照强度与文本颜色的混合计算过程。这种方法显著提升了文本的光感效果。
并发,并行与异步
本文深入剖析了并发、并行和异步三个核心概念,澄清了它们之间的区别。并发是一种处理多个任务的能力,强调任务的交替执行。并行则是真正意义上同一时间执行多个任务,依赖多核 CPU。异步是一种非阻塞的编程模型,主要用于 I/O 操作,避免浪费线程资源。文章通过实际例子和理论支持,使读者清楚理解这三者的定义和应用,指出异步并不等同于并发,同时强调了性能优化的重要性。整体内容结构清晰,便于读者理解。
Python、CSharp、Go、Nextjs,不同框架的性能到底差多少?
本文对不同框架和语言的性能进行了对比测试,特别关注了 ASP.NET Core 8.0 和 9.0 的性能表现。测试发现,ASP.NET Core 9.0 在吞吐量和内存使用方面表现卓越,适合高性能微服务。Go + Gin 虽然轻量,但吞吐量表现一般,适合小型服务。Next.js 在高并发场景下表现不佳。总体来看,ASP.NET Core 9.0 是未来项目的最佳选择,而传统 MVC 架构则显得过于臃肿,未来不推荐使用。
告别“屎山”代码!Gear.NET:专为 .NET 工业自动化打造的微编排框架
Gear.NET 是一个专为 .NET 工业自动化设计的微编排框架,旨在解决工业软件开发中的痛点,如逻辑复杂、硬件耦合、数据丢失等问题。它采用洋葱架构,提供 MicroWorkflow 微流程引擎,支持优雅的流程编排和异步操作。此外,UniversalScpi 配置驱动解决了硬件更换时的代码重构问题,通过 JSON 配置驱动不同的标准 SCPI 仪器。相比以往,Gear.NET 提供了深度封装的 SqlSugar 存储解决方案,确保数据的安全性与可分析性,极大地提高了兼容性和可维护性,适合工业软件需求。整体上,Gear.NET 旨在简化开发过程、提高代码质量。
c#实现包裹扣面单的几种方式
本文探讨了包裹流转过程中面单扣取的实现方案,包括使用 OpenCVSharp 进行轮廓、颜色和边缘检测,及 OCR 识别面单内容。文章重点介绍了 OpenCVSharp 在包裹和面单色差明显情况下的有效性,尽管在色差不明显时效果较差。提供了核心代码,展示了检测与处理过程,包括检测耗时和面单区域的信息。文中提到使用 YOLO 和 Labelme 可以训练模型以定位面单,为未来探讨做好铺垫。
C#/.NET/.NET Core 技术前沿周刊 | 第 65 期(2026 年 1.1-1.11)
本文介绍了 C#/.NET/.NET Core 技术前沿的最新动态和实用资源。报道了 C#在 2025 年的 TIOBE 编程语言排名中再次获评、生成式人工智能的崛起及其与 C#的结合、以及 MongoDB EF Core 的可查询加密特性。此外,还推广了优质项目和迁移 WinForms 到 Blazor 的 MWGA 项目。这些内容为开发者提供了有价值的信息与资源,有助于他们掌握技术前沿动态。
【译】AI 是如何解决我的拖延症的
作者分享了使用 Visual Studio 和 Copilot 完成两个项目的经历,强调了克服拖延和高效开发的重要性。第一个项目是将其书籍《The Automated Home》转换为静态网站,虽然需要微调设计,但效率显著提高。第二个项目是开发一个简易编程语言 TOON 的解析器,利用 Copilot 和云智能体协助解决复杂的语法分析问题。作者鼓励读者利用闲暇时间启动拖延已久的项目。
【开源自荐】为 AI 短视频打造一个分镜管理平台
这篇文章讲述了作者在 2022 至 2026 年间,如何利用 AI 技术开发本地客户端项目 Storyboard,旨在为短视频创作者提供镜头管理功能。作者分享了开发过程中的感受,包括使用的工具和技术栈,遇到的管理混乱问题,以及通过 AI 提升视频制作效率的体验。文章描述了项目需求的整理和核心功能的实现,涵盖了视频导入、分镜生成、批量任务处理等功能,展现了 AI 在短视频领域的应用潜力。
如何一步步将 ASP.NET MVC 升级为.NET
将 ASP.NET MVC 应用从.NET Framework 迁移到现代.NET 需要考虑多个方面。该过程并非简单的版本提升,需关注多个架构和配置的变化。文中提供了实用的逐步策略,包括根据应用大小选择迁移路径、识别阻碍因素、建立安全基线、优先升级库及考虑迁移工具等步骤。这些步骤旨在帮助开发者有效降低风险,确保迁移顺利进行。文中还强调了 Microsoft 提供的工具和指导,以便进行兼容性检查和补救措施。此文适合有实际开发经验的开发者参考。
C# 14 中的新增功能
C# 14 引入重要更新,包括扩展成员、空条件赋值、支持未绑定泛型的 nameof、Span隐式转换、简单 lambda 参数修饰符、字段支持属性、partial 事件与构造函数、用户定义复合赋值运算符和基于文件的预处理器指令。开发环境要求.NET 10 SDK 或 Visual Studio 2026。某些功能需要开启编译器开关以启用。性能优化方面,Span隐式转换减少内存拷贝,适用于高性能场景。
WPF 新手村教程(二) - 铁匠铺攻略:如何给隔壁张铁匠带两块铁(依赖属性)
本文章探讨 WPF 中的依赖属性和附加属性。依赖属性是由 WPF 属性系统统一管理的,值由多种输入源计算得出。文章通过 C#普通属性与 WPF 依赖属性的对比,阐述了依赖属性的定义和实现方式。介绍了依赖属性标识符的重要性及其在 WPF 属性系统中的应用。通过示例代码,展示了如何定义和使用依赖属性,增强了对属性体系的理解。整体内容清晰,技术深度适中,具备实用价值。
NetCoreKevin 是一个基于.NET9 AI 时代的 SaaS 企业级 AI 架构,专注于 AI 智能体开发与集成,AgentFramework 和知识库,为企业提供高效的 AI 应用开发框架。
NetCoreKevin 是基于 .NET 的现代化 SaaS 企业级架构,专注 AI 智能体开发与集成。采用前后端分离设计,支持 AI 语义内核和 RAG 检索增强生成,提供高效的应用开发框架。核心组件包括模块化智能体框架、动态知识库与容器化部署。后端使用 .NET Core 9、Entity Framework Core,前端采用 Vue3。支持 Docker 和 Kubernetes,实现云原生架构,满足高并发需求。该架构降低企业 AI 实施门槛,助力智能化转型。
如何通过 C# 将 PPT 文档转换为 PDF 格式
本文介绍如何使用 .NET 组件 Spire.Presentation 将 PowerPoint 文件转换为 PDF。首先,用户需通过 NuGet 安装该库。示例代码展示如何处理单个和批量 PPT 转 PDF 的流程,包括文件路径的定义、加载 PPT 文档、执行转换和资源释放等步骤。文章强调了异常处理的重要性,确保用户在遇到错误时能够清楚地获取反馈。该技术在开发和办公场景中具有很高的实用价值。
【译】使用 Visual Studio 2026 简化您的 Git 工作流程
本文讲述了 .NET 开发者如何使用 Visual Studio 和 Git 工具高效处理日常任务。通过具体示例,作者展示了如何创建分支、暂存未完成的变更并同步,保持代码库整洁。Visual Studio 的功能优化简化了分支切换和代码审查过程,提升了工作效率。文中还提到 Copilot 的代码审查功能,如何帮助开发者检测问题并获得建议,确保提交的安全性和质量。最后,作者介绍了创建拉取请求的简易流程,强调了团队协作的重要性。
基于.NET 和 C#构建光伏 IoT 物模型方案
文章详细描述了国内光伏设备及华为逆变器的 Modbus TCP 通讯报文。它包括请求和响应的结构、数据解析及光伏设备物模型的组织。文章目标在于解耦协议、解析与物模型,方便后续多品牌适配器的配置化映射。提供了示例代码,展示 Modbus 请求报文构造和响应解析方法,具有较高的技术深度与实用性。内容清晰,结构合理,代码示例易于理解,具备创新性,并紧跟技术进展。引用情况适中,整体可读性良好。
.NET Aspire 概述
.NET Aspire 是微软在 Build 2024 推出的开源框架,旨在简化.NET 8 及以上版本的分布式云原生应用开发。它提供工具、模板和最佳实践,帮助开发者将重心从基础设施转向业务逻辑。Aspire 的核心功能包括 AppHost 中心编排、服务默认配置、快速设置模板及开发者仪表盘,支持灵活部署到多种容器平台。Aspire 通过抽象化基础设施,降低开发复杂性,提高开发效率,确保环境一致性并内置可观测性和弹性。
一款专为 WinUI XAML 设计的快速原型设计工具,生成的代码可轻松复制到 Visual Studio 中!
XAML Studio 是专为 WinUI XAML 设计的快速原型工具,支持实时预览和互动,允许将生成的代码轻松复制到 Visual Studio。它提供界面调试、数据上下文编辑器和智能感知等功能,适合开发者学习和快速原型设计。WinUI 是一个现代 UI 框架,旨在构建动态和高性能的 Windows 应用。该项目为开源,开发者可以访问 GitHub 获取源代码,并关注 C#/.NET 的最佳实践。
基于 NetCorePal Cloud Framework 的 DDD 架构管理系统实践
本文介绍了基于 NetCorePal Cloud Framework 构建 DDD 架构的管理系统实践。项目采用了.NET 10 和 Vue 3,实现前后端分离。系统包含用户、角色、部门等基本功能,后端使用 EF Core 进行数据访问,FastEndpoints 替代传统 Controller,并通过 MediatR 实现 CQRS 模式,存储支持 MySQL 等数据库,集成 RabbitMQ、Redis 及云原生基础设施管理。项目采用经典三层架构,强调领域驱动设计(DDD),确保领域层与基础设施层和表现层之间的单向依赖。文章提供了清晰的架构和技术选型参考,适合相关领域开发者学习。
话题
.NET 和 .NET Framework 2026 年 1 月服务发布更新 - .NET 博客
devblogs.microsoft.com/dotnet/dotn…
关于 2026 年 1 月发布的.NET 和.NET Framework 服务。
.NET 10、9 和 8 版本发布时,增加了非安全稳定性的改进和各种漏洞修复。 NET Framework。
AWS Lambda 新增对 .NET 10 - AWS 的支持
AWS Lambda 现已支持 .NET 10。
.NET 10 文件类应用、Lambda 管理实例以及 AWS Lambda 的 Powertools 也被支持以配合 .NET 10。 NET 10 运行时在所有地区均可用。
我们如何同步。 NET 的虚拟单点 - .NET 博客
devblogs.microsoft.com/dotnet/how-…
如何同步一个.NET 虚拟单仓库(dotnet/dotnet))。
在作一个将多个仓库(如 dotnet/runtime 和 dotnet/aspnetcore)视为构建源的仓库(VMR)时,本书详细解释了仓库间的同步问题及其解决方法。
发布
- AvaloniaUI/Avalonia
- aws/aws-sdk-net
- Azure/azure-sdk-for-net
- CommunityToolkit/Aspire
- DataDog/dd-trace-dotnet
- dotnet/maui
- dotnet/Orleans
- dotnet/SqlClient
- googleapis/google-cloud-dotnet
- microsoft/WindowsAppSDK
- newrelic/newrelic-dotnet-agent - v10.48.0
- 开放遥测/开放遥测点网贡献
- unoplatform/uno
文章、幻灯片及更多内容
.NET 10 和 C# 14 新增内容:API 请求/响应流水线的增强
关于 ASP.NET Core 中 .NET 10 改进的 API 请求/响应流水线。
如何用 systemd 和 Podman 部署 .NET 应用 | 红帽开发者
developers.redhat.com/articles/20…
学习如何使用 systemd 和 Podman/Podman 四重组部署和运行 .NET 应用程序。
副驾驶回忆 - Visual Studio 博客
devblogs.microsoft.com/visualstudi…
副驾驶记忆功能的简要介绍。
关于 PublishAot 设置和运行时功能。IsDynamicCode 已提交属性
解释了“PublishAot”设置中的“RuntimeFeature.IsDynamicCodeCompiled”属性如何影响构建时间和调试执行。
我应该使用 NuGet Lock Files - tech.guitarrapc.cóm
tech.guitarrapc.com/entry/2026/…
对 NuGet 锁文件的解释及其必要性。
. 通过.NET 应用读取我的号码卡信息(可在 Linux 上使用)——Qiita。
如何在 .NET 应用程序中加载我的号码卡信息。 它还涉及了它在 Linux 上的工作方式。
AWS 现支持基于文件的 C# Lambda 函数 - tech.guitarrapc.cóm
tech.guitarrapc.com/entry/2026/…
关于 AWS Lambda 对基于 C#文件程序的支持以及对.NET 10 的支持。
Windows 应用的 UI 开发难吗? 这个问题,你可以用 Blazor × Tailwind CSS 解决
学习如何在你的 BlazorWebView(Blazor 混合)应用中使用 Tailwind CSS。
如何用.NET MAUI 构建 Android 小部件 - .NET 博客
devblogs.microsoft.com/dotnet/how-…
如何在 .NET MAUI 中实现 Android 小部件。 文章解释了实现过程,包括与应用程序的交互。
在 Azure 云(SWA + Functions + Cosmos DB)中为您的网站实现“旧公告板”——Qiita
Azure Static Web Apps and Azure Functions (Managed Functions) 以及 Cosmos DB 来实现传统的公告板。
在 C#模块初始化器被调用之前 - Qiita。
关于用 ModuleInitializer 初始化模块初始化器和静态构造器,初始化静态字段的顺序。
从.NET MemoryStream 创建零副本二进制数据 - Gérald Barré
www.meziantou.net/zero-copy-b…
如何在从内存流创建二进制数据时进行零复制。
WPF + OpenCvSharp 创建了一款“发送带有面部手势的 PDF 页面”的应用 - Qiita
描述使用 WPF 和 OpenCvSharp 创建一个识别面部手势并发送关键动作的应用程序。
Copilot 为 × Windows 应用开发工作:本地编辑 安心与说明
介绍 Visual Studio Code 及在 Visual Studio 中使用 Copilot,以及一些快速使用技巧。
[C#14] 化合物分配超载
C# 14 中复赋值算子超载的解释。
库、仓库、工具等
jsakamoto/dnx-zipsrc:“dnx zipsrc” 是一个 .NET 全局工具,利用 .gitignore 模式从项目中的源文件创建压缩包,排除伪影、依赖及其他内容 非源文件。
.gitignore 工具用于过滤不必要的文件和 ZIP 源代码。
MattParkerDev/sharpdbg:SharpDbg 是一个 .NET 托管代码调试器,支持完全用 C#/.NET 实现的调试适配器协议
一个支持以 .NET(C#)实现的数据适配器协议的 .NET 调试器。
评论工作室 - Visual Studio 市场
marketplace.visualstudio.com/items?itemN…
一个 Visual Studio 扩展,可以将 XML、文档、注释等格式化并显示成易读格式。
精选空白
www.vsixgallery.com/extension/S…
Visual Studio 扩展,用于显示选定范围的空白字符。
今日人物
肯尼斯·蓝·汤普逊(英语:Kenneth Lane Thompson,1943 年 2 月 4 日—),小名肯·汤普逊(英语:Ken Thompson),美国计算机科学学者和工程师。黑客文化圈子通常称他为“ken”[1]。在贝尔实验室工作期间,汤普逊设计和实现了Unix操作系统。他创造了B 语言——C 语言的前身,而且他是Plan 9操作系统的创造者和开发者之一。2006 年,汤普逊进入Google公司工作,与他人共同设计了Go 语言。他与丹尼斯·里奇同为 1983 年图灵奖得主。
此外,肯·汤普逊还参与过正则表达式和UTF-8编码的设计,改进了文本编辑器QED,创造了ed编辑器。他曾制造过专门用于下国际象棋的电脑“Belle”,并建立了残局数据库。
