国内文章
微软正式发布 .NET 10:三年 LTS 支持驱动性能革命与 AI 原生开发新纪元
.NET 10 于 2025 年 11 月 12 日发布。这是一个长期支持版本,提供三年技术支持。新版本在运行时性能、AI/ML 集成和跨平台兼容性上取得重要进展。其性能提升显著,JIT 编译速度提高 37.5%,GC 暂停时间减少 52%。C# 14 简化编程,通过自动生成私有字段和扩展属性提升开发效率。ASP.NET Core 在 Blazor 上有重大改进,如声明式状态持久化和优化的表单验证。
.NET 10 性能突破:持续优化才是质变关键
.NET 10 于 2025 年 11 月 12 日发布,作为长期支持版本,将提供三年安全补丁和服务支持。其性能提升依赖数百个微小优化,并实现了从 LINQ 到线程池的全方面突破。LINQ 优化体现了从机械执行到语义理解的转变,极大提升了查询效率。这种创新方法改变了算法时间复杂度,代表了技术演进的核心理念,展现了持续的系统性优化的重要性。在基准测试中也显示了显著的性能改善。
DotNetGuide 突破了 9.5K + Star,一份全面的 C#/.NET/.NET Core 学习、工作、面试指南知识库!
DotNetGuide 是一个侧重于 C#、.NET 和.NET Core 学习与工作指南的 GitHub 知识库。内容包括基础知识、学习路线、实战经验、编程技巧、面试准备和资料推荐等。知识库旨在帮助开发者快速掌握技术,找到清晰的学习路径,提升核心竞争力。同时也鼓励社区参与和贡献资源,保持内容的持续更新。此知识库关注 C#/.NET/.NET Core 技术的前沿动态,提供学习视频和优秀项目框架的信息。
从 .NET Core1.0 到 .NET 10:.NET + C# 演进全景
本文回顾了微软 .NET 与 C# 语言的发展历程,涵盖了从跨平台到统一平台及现代化性能优化的各个版本。重点介绍了每个版本的发布信息和核心特性,以示例代码帮助开发者理解关键变化,促进特性应用。作者详细阐述了 .NET Core 1.x 到 .NET 5 的核心特性,比如可空引用类型和记录类型等。这些内容对于开发者的实际应用具有很高的参考价值,增强了对 .NET 技术的认识。
如何在 .NET 中使用 SIMD
本文介绍了单指令多数据(SIMD)技术,阐述其基础原理及实现方法。与传统逐元素计算相比,SIMD 通过并行处理提高了计算效率,适用于数组运算等场景。文中使用 C#代码展示了 SIMD 在数组加法中的应用,比较了常规和 SIMD 优化的方法的性能差异。文章涵盖了相关命名空间及数据结构,如 System.Runtime.Intrinsics 与 Vector 等,为开发者在跨平台计算中提供了实用的示例与指导。
WPF 如何支撑一个灵活的流程图编辑器?
本文介绍了一款基于 WPF 的开源流程节点编辑框架,强调流程设计与可视化在软件开发中的重要性。该工具支持节点创建与编辑、连线管理、布局调整与边界扩展、框选与拖动、数据绑定与交互等功能,旨在提升开发效率。框架遵循 MVVM 设计模式,具有友好的界面,强大的扩展性以及丰富的交互方式,能够满足不同开发需求。本文还提供了一段示例代码,展示关键功能的实现细节,为开发者提供实用的参考材料。
好消息,.NET 10 正式发布,更智能、更安全、更高性能的统一开发平台!
.NET 10 于 2025 年 11 月 11 日正式发布,是最高效和最安全的版本,支持三年,建议升级以享受更好的性能和新功能。 .NET 10 引入了多项性能优化,包括 JIT 编译器和 NativeAOT 改进。C# 14 增强了开发效率,支持新特性如字段支持的属性和 Lambda 参数修饰符。ASP.NET Core 10.0 新增功能包括 Blazor 和 OpenAPI 等改进,并更新了.NET 库以增强安全性和效率。此外,Microsoft 代理框架简化了 AI 驱动应用的构建。
鸡肋的 TaskFactory 是时候抛弃了
本文介绍了 TaskFactory 和 Task.Run 的使用,分别生成并执行 Task。使用 Task.Factory.StartNew 可以异步执行多个任务,展示了其在耗时操作中的效率。在实例中,三个任务同时执行,整体耗时约 1 秒。Task.Run 功能类似,但为静态方法,设计上更为简洁且支持异步处理。同时,作者提到 TaskFactory 不支持某些异步特性,使用上存在局限。整体内容明确且详实,适合 C#开发者参考。
告别人工干预!C# 轻量级上位机自动联动 MES 与视觉检测
本文介绍了一个基于 .NET 的工业自动化项目,旨在高效连接扫码枪与企业信息系统。项目要求实时、可靠且可追溯,使用 WinForm 构建结合串口和 TCP 通信的闭环控制系统。应用程序监听扫码枪,验证条码,调用 MES 接口获取信息,并将结果发送给视觉检测系统。系统具备良好的用户体验,实施一件一检的流程控制,并优化了重复零件号的处理。项目技术栈包括 .NET Framework、HttpClient、TcpClientManager 等,确保数据交互的安全性及日志系统可读性。
.NET Conf China 2025:讲师与主题全揭秘
.NET Conf China 2025 将于 11 月 30 日在上海举行,主题涵盖性能提升、AI 融合和跨平台开发。多位讲师分享前沿技术,如 SnapDevelop、EazyDevelop、Blazor 和 AVALONIA 等。在 AI 与低代码结合方面,卢思达探讨高效开发的新范式。谢智介绍一站式 AI 云服务平台。此外,演讲者讨论.NET 程序故障动态跟踪和 AI 应用可观测性等议题。大会为开发者提供学习与交流的机会,推动开源技术与社区协作发展。
记一次 .NET 某医联体管理系统 崩溃分析
这篇文章讲述了一起崩溃类的生产事故。作者通过分析 dump 文件,定位到崩溃信息和错误代码,发现是 ntheap 损坏造成的。作者使用调试命令查看崩溃时的调用栈,进一步揭示了崩溃原因。文章通过具体操作展示了崩溃分析的过程,让人对故障排除有了清晰的认识。
一个基于 .NET 8 + DDD 搭建的模块化微服务框架
NetCoreKevin 是一个基于.NET 8 和 DDD 的模块化微服务框架,适合大型企业级应用开发。它提供了单点登录、缓存、任务自动化、分布式架构、多租户、日志记录等功能。DDD 通过建立领域模型,帮助理解业务逻辑,从而实现可维护和可扩展的软件系统。此外,该项目源代码已开源,鼓励开发者参与。它还被收录在优秀的 C#/.NET 项目精选中,便于开发者了解最新动态和最佳实践。
C#/.NET/.NET Core 技术前沿周刊 | 第 60 期(2025 年 11.1-11.9)
本周刊专注 C#/.NET/.NET Core 领域,记录最新的技术文章和资源。内容涵盖优秀项目、Visual Studio 使用技巧、术语集、开源工具、ASP.NET Core 的部署进化、C#高级模式等,提供详细的功能介绍和源码链接,为开发者提供有用的参考。文章旨在促进开发者提升效率,拓宽技术视野,适合初学者与经验丰富者。
.NET+AI | MEAI | .NET 平台的 AI 底座 (1)
.NET 平台 AI 生态发展时间线展示了微软从基础服务集成到高级智能体编排的完整技术栈,涵盖了 Microsoft.Extensions.AI、Semantic Kernel 和 Microsoft Agent Framework 等技术。即将发布的.NET 10 将在底层性能和工具链上为 AI 深度优化。本文面向 .NET 开发者,介绍了如何在 AI 浪潮中抓住机遇,并启动了 [.NET+AI] 系列文章,旨在帮助开发者开展智能体开发。Microsoft.Extensions.AI 提供统一的接口标准,支持多种 AI 服务的接入,简化开发流程。
ASP.NET Core Blazor 进阶 1:高级组件开发
本文深入探讨 Blazor 中的高级组件开发技术,重点介绍了渲染片段、动态组件、错误边界和虚拟化组件。这些技术有助于构建更强大和灵活的 Blazor 应用。首先,文章解释了 RenderFragment 的基本概念和用法,展示了如何通过参数化的方式传递内容和显示动态列表。示例代码清晰地说明了各个组件的实现,增强了理解和应用能力。通过实用案例,读者可以更好地掌握 Blazor 组件的开发技巧。
DotMemory 系列:1. 终结队列积压引发的内存暴涨分析
本文介绍了使用 DotMemory 工具分析内存暴涨的案例。作者通过故意让终结器线程处理变慢,以演示终结队列的积压问题。提供了相关代码示例,并详细描述了 DotMemory 的使用方法与分析步骤。文章指出,在采样分析中,选择 Sampled 模式是关键,并展示了内存用量动态变化的快照,以及如何识别问题对象的大小。整体上,文章通过实例阐明了内存管理的重要性和 DotMemory 的可视化优势。
Aspire+.NET10+ 手搓线程池打造抓不死的云应用
本文介绍了手搓线程池在.NET10 中的支持,涉及环境准备以及如何快速开发云应用。作者展示了如何创建 WeatherApi 项目,通过 IWeatherService 读取天气数据并使用 MySql 数据库存储。文章提供了代码示例,包括 Controller 和接口定义,强调了 Dapper 在 IWeatherService 实现中的重要性,特别提到 CancellationToken 的使用。整体内容清晰,具有一定的实践性与技术深度,对开发者有参考价值。
.NET+AI | MEAI | 提示工程基础(2)
本文介绍了如何使用 Microsoft.Extensions.AI(MEAI)构建铁路票务的意图识别系统。文章强调了结构化提示的四大组件,包括指令、上下文、输入和输出。作者提供了七大核心技巧来提升提示质量,包括明确任务边界、结构化输出和角色设定。使用示例和参数调优,本文展示了如何提高模型准确性和系统集成效率。文章系统地讲解了业务需求、具体场景以及具体实施方法,帮助读者快速掌握实际应用。整体结构清晰,易于理解。总体而言,该文具有较强的实用性和参考价值。
常用设计模式:模板方法模式
模板方法模式是一种行为型设计模式,定义算法骨架,将具体步骤延迟到子类实现。它通过抽象类定义模板方法和抽象步骤,具体子类实现这些步骤。优点是代码复用和易扩展,缺点是子类过多时会增加复杂性。文中提供了 C#和 TypeScript 的示例,演示饮料冲泡流程,包括咖啡和茶的实现。模板方法保证了固定流程,同时允许子类定制个别步骤,增强了灵活性和可维护性。
CompletableFuture 的 5 大坑!
本文讨论 CompletableFuture 在并发编程中的使用,特别是常见的坑与误区。作者指出,虽然 CompletableFuture 提供了强大的异步编程功能,但不当使用会导致性能问题,比如线程池配置不当。文中结合示例代码演示了如何进行异步计算,并警示读者注意默认线程池的局限性,特别是在 IO 密集型任务中,可能会造成任务过度排队。本篇文章旨在帮助读者避免这些常见错误,提高使用效率。
记一次 .NET 某理财管理客户端 OOM 溢出分析
本文探讨了一名学员遇到的 OOM 异常问题,通过分析 dump 文件来识别错误原因。作者强调尽早捕获异常的重要性,并使用 procdump 工具获取 dump 文件。分析显示,程序因内存不足而导致抛出异常,文中提供了详细的异常调用栈,以帮助理解问题发生的背景和过程。该分析包含技术细节和实用指导,对于开发者理解和解决类似问题有很大帮助。
DotMemory 系列:2. 事件泄露引发的内存暴涨分析
本文探讨通过 DotMemory 分析内存泄露现象。讲述了在特定代码执行后,内存暴涨至 1.15G 的情况。通过使用 DotMemory 采集快照,确认 EventHandler 和 Room 类实例的内存占用是导致泄露的主要原因。分析显示,这些实例未能正确解订阅事件,造成内存持续占用。文章详细阐述了问题背景、代码示例和内存检测结果,提升了读者对内存管理的理解。
DotMemory 系列:3. 堆碎片化引发的内存暴涨分析
本文讨论了.NET8 中的内存暴涨问题,重点在于通过示例代码展示如何导致堆碎片化。作者通过设计一个分配 3M 临时对象和一个 50K pinned 对象的案例,展示了内存的异常使用情况。尽管分配的对象不大,gen2 却占用了大量内存,形成了堆碎片化。在分析中,作者通过 dotMemory 工具观察对象分布和内存使用情况,强调了 pinned 对象对垃圾回收的影响。总之,文章深入探讨了内存管理的重要性及其对性能的影响,为读者提供了宝贵的实践经验。
OpenCVSharp:使用 MOG(Mixture of Gaussians,高斯混合模型)算法来从视频流中分离前景和背景
本文介绍了如何使用 MOG 算法在视频流中分离前景与背景。通过示例代码,读者学习如何使用 OpenCVSharp 中的 VideoCapture 类和 BackgroundSubtractorMOG 类。代码展示了如何捕获视频帧并应用背景减法,提取出运动物体。MOG 算法利用高斯混合模型实现背景建模,提供了有效的分离功能。初学者可以快速掌握这些基本概念,进一步探索计算机视觉技术的应用。
使用 WiX 创建 Windows 应用安装包
WiX 工具集用于构建 Windows 安装程序,包括创建 IIS 网站和注册 Windows 防火墙例外。安装 WiX 可以通过命令行或 Visual Studio 进行。使用 HeatWave 扩展可生成 MSI Package 项目,包含多个关键文件。Package.wxs 是核心,定义了 MSI 的属性,如 ID、名称和版本。MajorUpgrade 元素管理版本升级,设置相关权限。Feature 元素控制安装内容,引用 ComponentGroup。此文档清晰介绍了 WiX 基本用法,适合开发者参考。
OpenCVSharp:ArUco 标记检测与透视变换
本文介绍了如何在.NET 环境中使用 OpenCVSharp 库进行 Aruco 标记检测和透视变换。推荐初学者从示例代码入手,通过运行示例了解基本功能。文章详细解释了每个参数的作用,包括检测器参数和字典配置,强调了学习中的实践重要性。作者鼓励读者逐步深入,不必一开始就掌握复杂的视觉算法原理,避免因难度而放弃。整体内容技术性强、实用性高,适合.NET 开发者入门 OpenCV。
【EF Core】未定义实体类的数据库模型
这篇文章探索了如何在 EF Core 中不定义实体类而实现数据库建模和操作。尽管通常不推荐这样做,但在某些情况下如数据库视图,这种方法是可行的。作者展示了如何通过自定义 DbContext 配置模型,使用字典类型作为默认结构,并添加属性和主键。文章提供了代码示例,展示了如何创建和验证模型,最终能够成功创建数据库。这说明 EF Core 在灵活性和适应性上的优势。
在抖音直播推广开源作品的可行性?
该文章介绍了作者在.NET 微服务领域的探索与实践,特别是对 DotNetty 框架的使用和维护经历。作者讲述了内存泄漏问题的解决以及物联网平台 Kayak 的稳定性。随着 DotNetty 维护的结束,作者表示仍会继续使用并扩展该框架的功能。同时,作者计划通过抖音直播推广物联网及微服务相关技术,分享经验并引发讨论。文章展示了个人技术成长和对开源社区的贡献。
话题
介绍 C# 14 - .NET 博客
devblogs.microsoft.com/dotnet/intr…
介绍 F# 10 - .NET 博客
devblogs.microsoft.com/dotnet/intr…
.NET 中的后量子密码学 - .NET 博客
devblogs.microsoft.com/dotnet/post…
Uno 平台 6.4:代理开发、.NET 10 和 VS 2026 来了!
更多关于 ReSharper 和 Rider 2025.3 的更新和修复 | .NET 工具博客
blog.jetbrains.com/dotnet/2025…
重新定义.NET 的构建与发布方式(再次)——.NET 博客
devblogs.microsoft.com/dotnet/rein…
OpenAPI.NET:有史以来最大的更新——OpenAPI at Microsoft
devblogs.microsoft.com/openapi/ope…
Heroku 对 .NET 10 LTS 的支持:开发者需要了解的内容
发布
- AvaloniaUI/Avalonia
- aws/aws-sdk-net
- Azure/azure-sdk-for-net
- Azure.Identity_1.17.1,Azure.Identity.Broker_1.3。 1, Azure.Monitor.OpenTelemetry.AspNetCore_1.4. 0, Azure.Monitor.OpenTelemetry.Exporter_1.5。 0,Azure.ResourceManager.Cdn_1.5。 1,Azure.ResourceManager.CognitiveServices_1.5。 2,Azure.ResourceManager.Elastic_1.1。 0,Azure.ResourceManager.Maintenance_1.1。 3,Azure.ResourceManager.PaloAltoNetworks.Ngfw_1.2。 0, Microsoft.Azure.WebJobs.Extensions.WebPubSubForSocketIO_ 1.0.0, Microsoft.Extensions.Azure_1.13. 1
- DataDog/dd-trace-dotnet
- dotnet/SqlClient
- googleapis/google-cloud-dotnet
- microsoft/CsWin32
- newrelic/newrelic-dotnet-agent
- 开放遥测/开放遥测点网贡献
- unoplatform/uno
文章、幻灯片及更多内容
UserlandDotNet:将 Linux 的超能力重新交还给.NET 开发者
让我们来看看 Microsoft Agent Framework(C#)第 14 部分 让我们试试 Durable Agent
客户端-WebAPI(.NET)构建,使用 MSAL JWT 承载认证授权支持零信任环境
.NET 10 中原生 AOT 的状态
code.soundaranbu.com/state-of-na…
如何修复显示 Visual Studio 安装未完成 - Qiita
抱怨.NET 进展过快的公司应该直接付费购买终止后的支持
[C#14] 如何使用字段关键词
.NET 8 - 10 迁移说明(Blazor Web 应用/服务器)
用于管理 API 规范(OpenAPI)。 NET 10(ASP.NET 核心)
探索用 PowerShell 检索 HTML 剪贴板时出现的混乱原因 - Qita
[WinUI3] 使用 WinUI3 - Qiita,这些并非必需的事项
.NET 10 中添加到 LINQ 的方法 - Qiita
ASP.NET - Qiita 实现的 Web API 测试实现
【LTS】。 NET 10 × 开始在 Visual Studio 2026 中开发 Azure Functions——C# 14 - Qiita 的新功能
花更少时间升级,多花时间在 Visual Studio 2026 中编程 - Visual Studio 博客
devblogs.microsoft.com/visualstudi…
Poser - 在测试时替换 C# 中的静态方法等
用 GitHub Copilot Testing for .NET - .NET 博客,增强你的测试覆盖率
devblogs.microsoft.com/dotnet/gith…
.NET 10 和 C# 14 有什么新动态
JetBrains 正前往 VSLive! 奥兰多 | .NET 工具博客
blog.jetbrains.com/dotnet/2025…
开始学习“现代 C#”吧! 2025【. NET10/C#14]
Azure MCP 服务器现已内置于 Visual Studio 2026:代理式工作流的新纪元 - Visual Studio 博客
devblogs.microsoft.com/visualstudi…
Rider 数据库功能 | .NET 工具博客
blog.jetbrains.com/dotnet/2025…
(继续)获取 C#中的 CPU 模型 - tech.guitarrapc.cóm
tech.guitarrapc.com/entry/2025/…
两种 FileOpenPicker 类型
[C#] Aspire CLI - Qiita 的介绍与基本使用
在 Visual Studio Code 中调试基于文件的应用程序
Visual Studio 2026 全新用户体验的首秀 - Visual Studio 博客
devblogs.microsoft.com/visualstudi…
我想更改密钥以在 Visual Studio 2026 中应用代码补全
.NET 10 中 Blazor 的新功能 期望
库、仓库、工具等
BoolHak/NSerfProject:Serf 移植到 .net C#
今日人物
迈克尔·O·拉宾(希伯来语:מִיכָאֵל אֹשֶׁר רַבִּין,英语:Michael Oser Rabin,1931 年 9 月 1 日— )是一名以色列计算机科学家,1976 年图灵奖得主。
拉宾出生于德国布雷斯劳(二战后成为波兰弗罗茨瓦夫),父亲是一个拉比。
1953 年,他获得希伯来大学的理学硕士,1956 年获普林斯顿大学博士学位。
1959 年,拉宾和达纳·斯科特共同发表了“有限自动机与其判定性问题”(Finite Automata and Their Decision Problems)的论文,提出了非确定自动机的观点。他们也因此获得了 1976 年的图灵奖,并做“计算机复杂性”(Complexity of Computations)的演讲。图灵奖的引文是:
因他们的合著论文“有限自动机与其判定性问题”。论文中引入了非确定自动机的概念,被证明是(计算理论科学研究中的)一个非常重要的概念。拉宾和斯科特的这篇经典论文成为了这个领域后续研究的源泉。[1]
非确定自动机已经成为计算复杂度理论中的一个重要概念,特别是在描述P 与 NP 问题的复杂度类时。
1969 年,拉宾证明 N successors 的二阶逻辑是可判定的。[2]证明的关键部分暗示了奇偶游戏的确定性。1975 年,拉宾发明了米勒-拉宾检验,这是一个相当快速的随机化算法(有较小的可能性错误),用于判断一个大数是否是素数。[3][4] 快速素数检验是目前大部分公钥密码体系的关键。1979 年,拉宾发明了第一个非对称密码系统——拉宾密码系统。它的安全性被证明和整数因式分解的复杂度相同。[5]1981 年,拉宾提出了不经意传输技术。[6] 1987 年,拉宾和理查德·卡普提出了一个著名的字符串搜索算法——拉宾-卡普算法。[7]
