国内文章
多租户下的系统基础表设计
该文章详细讨论了多租户进销存系统的基础表设计,核心关注点为租户隔离、权限控制和组织结构。文章推荐“租户 → 机构 → 角色 → 用户”的层级结构,并强调所有业务数据需附带 tenant_id 字段。租户表和业务表的字段设计规范明确,状态管理采用枚举方式,加强了系统可读性和调试便利性。通过示例展示了业务状态的设计,提升了理解效果。整体内容逻辑清晰,适合系统设计人员参考。
Avalonia UI 12.0.0-RC1 正式发布
Avalonia UI 在.NET 生态中通过独特的渲染引擎实现了跨平台控件绘制。Avalonia 12.0.0-RC1 是一个关键版本,标志着框架关注架构稳定性和性能提升。该版本全面弃用了旧版.NET 环境,强制要求使用现代化的.NET 8 和.NET 10,阐述了对企业级系统迁移的重要性。同时,Avalonia 改善了内存管理和编译性能以满足高性能需求。这一切都将降低企业的迁移成本,并提升用户体验。
.NET 磁盘 BitLocker 加密-技术选型
本文探讨在企业级环境中如何使用 BitLocker 进行磁盘加密,重点分析了不同的编程操作方案。文章介绍了查询加密状态、解锁和启用加密等操作,强调所有操作需管理员权限。BitLocker 操作通过 PowerShell Cmdlet、WMI Provider、Native DLL 和 Kernel Driver 呈现,且没有公开的 IOCTL 接口。接着,文章详细描述了四种.NET 编程方案,包括 PowerShell Cmdlet 和 fveapi.dll P/Invoke,提供了对每种方案的依赖情况和适用性分析。整体上,文章为开发者提供了清晰的 BitLocker 操作指导。
WPF 新手村教程(五)— 附魔教学(绑定)
本篇文章详细讲解了 WPF 中的数据绑定概念,强调了 ViewModel 在 MVVM 架构中的重要性。WPF 的绑定机制实质上是将 UI 元素与数据源对象连接。文章分类了元素绑定和非元素绑定,并提供了实际示例,说明如何通过 Binding 对象实现属性绑定。探讨了绑定的核心要素,包括目标对象与属性、源对象与路径、数据上下文以及绑定模式等。此外,还提到数据转换与验证的重要性,强调合理选择绑定模式以优化性能。
字符串拼接用“+”还是 StringBuilder?别再凭感觉写了
这篇文章讨论了在 C#中字符串拼接的最佳实践。使用'+'进行少量固定次数拼接时可读性好且性能得益于编译器优化。在大量循环拼接中,使用 StringBuilder 更高效,避免了创建多个临时字符串。文章详细解释了字符串不可变性如何影响性能,并分析了不同拼接方式的效率,包括向 StringBuilder 的扩展策略和所需内存。在特定情况下,建议使用 string.Concat 或 string.Join。这使得代码更优化和高效。
.NET .Result 避坑指南:不同框架下的死锁与线程池饥饿
这篇文章分析了在 .NET 中使用 .Result 同步阻塞异步任务的隐患。老系统如 ASP.NET MVC 5 容易导致死锁,而 ASP.NET Core 则可能导致线程池饥饿。文章解释了两个系统中相同代码为何会造成不同故障,指出 .Result 导致线程阻塞,两者本质上都是阻塞异步导致的问题。作者建议在业务层使用 async,避免使用 .Result、.Wait() 和 GetAwaiter().GetResult(),确保全链路异步,以防止层层阻塞。结论强调了异步编程的重要性。
用 C# 写一个完整的 ReAct 智能体:从命令行输入到任务完成的全链路拆解
文章介绍了一个用 C#开发的命令行智能体框架,提供了完整的实现流程。它侧重于实用性,通过代码示例逐步讲解各个功能模块。框架采用解耦设计,注册工具和代理,提高了灵活性和可读性。文章没有探讨概念,直接为开发者提供了可实施的代码,适合对 C#和.NET 技术感兴趣的读者。
EF Core 慢查询排查实战:TagWith、OpenTelemetry、执行计划,30 分钟定位性能瓶颈
这篇文章讨论了 EF Core 的性能问题,尤其是在实际线上环境中的慢查询现象。作者强调了慢查询往往无法复现的困扰,与数据库表现无关。文中指出,排查查询性能时应关注完整的执行链,包括 LINQ 转 SQL 的过程、数据库执行和结果物化。建议使用 TagWith 为 SQL 打标签,利用 OpenTelemetry 采集性能数据,从而形成有效的排查闭环。文章通过示例代码展示了如何在关键查询中应用这一方法,以便更快定位问题源。
使用 Microsoft Agent Framework 构建 C# AI 代理
本文介绍了如何在 C#中使用 Microsoft Agent Framework 构建生产级 AI 代理,替代 AutoGen 和 Semantic Kernel。它涵盖了环境设置、代理的记忆管理以及工具的创建。该框架提供高效的代理模型,支持多种接入方式,并具备图形化执行和条件路由等功能,简化开发过程。开发者可以通过简单的 C#代码创建代理,并管理多轮对话中的上下文一致性。代理能够调用 API 并执行特定功能,如获取天气信息。
EF Core 拦截器实战:SaveChangesInterceptor、CommandInterceptor 与审计落地
本文探讨了审计在系统设计中的重要性,强调其并非单纯的代码实现,而是系统级可追溯能力。文章指出,审计应在设计阶段定义为基础设施,以避免多入口模式下的审计断层。通过 SaveChangesInterceptor 和 CommandInterceptor,文章提供了系统化的审计解决方案。作者建议首先进行职责拆分,再实施拦截器,以确保审计的有效性和一致性。对于分散的审计代码,文章提供示例,展示如何统一审计策略,提高系统的可观测性和可追溯性。
【译】 我们如何同步 .NET 的虚拟单体仓库(一)
本文介绍了.NET 构建和发布流程的重大改进,尤其是虚拟单体仓库(VMR)的创建和双向同步的技术细节。VMR 为构建.NET SDK 提供了所有源代码和基础设施,简化了原有复杂的多仓库构建方式。从.NET 6 开始,开发团队致力于满足不同 Linux 发行版的源代码构建需求。文章描述了源代码构建的过程和补丁机制,以解决构建失败问题,确保构建的持续性和稳定性。最终,VMR 的实现推动了统一构建项目的发展。
一种 winform 实时刷新日志内容的方法
本文介绍了在 C#中实现实时刷新日志内容的技术,尤其是在上位机应用中。传统的 TextBox.AppendText 方法存在日志长度和消息排序的局限性。为了解决这些问题,作者引入了 AsyncOperation 类和数据绑定的概念。AsyncOperation 类跟踪异步操作并通过 Post 函数传递消息。数据绑定使得控件属性与数据源连接,实现自动更新,并解决了跨线程操作的问题。示例代码展示了如何创建 AsyncProperty 类和 LogContent 类以实现日志内容的灵活刷新与管理。
.Net 基于 AgentFramework 中智能体 Agent Skill 集成 Shell 命令实现小龙虾 mini 版
本文介绍了如何使用 AgentFramework 集成智能体技能。代理技能是可移植的功能包,封装领域知识,扩展代理功能,提高一致性,并支持互操作性。文中详细描述了技能的结构,必须包含 SKILL.md 文件以及其他资源子目录。SKILL.md 文件需包含 YAML 前置数据和 Markdown 内容,定义技能的名称、描述、许可和兼容性。最后,文章提供了基本设置示例,说明如何创建 FileAgentSkillsProvider 并将其添加到代理上下文中,涉及到具体的代码实现和资源链接。
不要让接口过早失去可选项
本文讨论接口设计中的问题,强调能力与策略的关注点分离。在数据处理场景中,过早耦合能力与实现策略限制了系统的优化空间。使用典型接口'byte[] GetImageArgb()',会使调用方不得不接受默认决策,从而影响系统性能。文章指出,合理的接口设计应仅表达能力,避免在接口层固定决策。更好的方式是分开能力与默认使用逻辑,例如使用'void GetImageArgb(Span destination)',允许用户灵活选择。最终,设计应保持可选项的开放性,以便实现更高性能。
SQL Server 安装避坑:这 8 个奇葩报错你遇到过几个?
本文讨论安装 SQL Server 时常见的错误,列举了八个奇葩报错及应对策略。从缺失依赖项到系统重启要求,读者可通过解决方案有效避免这些问题。首先,确保安装相应版本的.NET Framework 和 PowerShell。其次,重启计算机以消除长时间的待处理任务。文章细致分析了 ODBC 驱动冲突及硬盘扇区不兼容的问题,并提供了相关的命令和注册表编辑方法,帮助用户顺利完成安装。整体内容详尽,易于理解,适合相关开发者参考。
玩一玩微软的 1 bit 模型:BitNet. 一个 CPU 就能跑起来的大模型
微软开源的 BitNet 可以在 1 个 CPU 和 512MB 内存下运行大模型。本文提供了 BitNet 的环境搭建及 Docker 编译运行步骤。使用者可以通过指定参数进行模型推理,体验其快速响应能力。尽管 BitNet 具有较快的推理速度,但仍存在一些问题,如在 MacOS 下输出无意义单词和重复文本。作者希望 BitNet 能持续改进,最终能在手机上实现本地知识库的功能。
MAUI 嵌入式 Web 架构实战(十) 总结篇: App Web Shell 架构:构建跨平台本地应用平台
该文章介绍了 MAUI 嵌入式 Web 架构及其核心组件 App Web Shell。文章比较了传统应用与 Web 应用的结构,强调 Web UI 驱动本地应用的优势,包括降低开发成本、简化更新和易于扩展。作者详细描述了 PicoServer 的角色,强调其在 API 网关和本地服务桥中的核心作用。文章还探讨了 PWA 离线能力和 WebSocket 实时通信的实现,展示了系统的跨平台和离线运行优势。此架构可用于 Windows、Android、iOS 和 Mac 平台,提供接近原生应用的用户体验。
通过 C# 复制 Word 文档、指定段落、指定节
本文介绍如何使用 Free Spire.Doc for .NET 库在 C# 中自动化复制 Word 文档内容。文章详述了如何克隆整个文档及提取指定段落的方法,强调了自动化的优势,如提高效率和保持格式。此外,示例代码提供了完整的实现过程,包括异常处理和资源释放的注意事项。读者无需安装 Microsoft Office,便可轻松使用该库进行文档操作,是提升办公效率的重要工具。
【译】 安全智能:MongoDB EF Core 提供程序中的可查询加密和向量搜索
本文介绍了 MongoDB Entity Framework Core 提供程序的发布及其新特性,特别是可查询加密和向量搜索。可查询加密允许开发者在查询敏感数据的同时保护数据隐私,适用于医疗和金融等行业。其配置简便,提供了具体的代码示例。向量搜索则革新了非结构化数据的检索方式,利用向量嵌入技术实现基于语义的相似性搜索,拓展了人工智能应用的可能性。作者通过总结新的功能和应用场景,强调了为.NET 开发者提供更强大工具的承诺。
自动导引车(AGV)与自主移动机器人(AMR)控制系统的 C# 开源封装库
这篇文章探讨了工业移动机器人软件生态系统的演进,重点介绍了自主移动机器人(AMR)技术的发展。随着传感器和 SLAM 算法的进步,传统的自动导引车(AGV)逐渐向具有智能化的软件架构转型。C#及.NET 平台在车队管理系统和底层硬件通信中扮演了关键角色。文章强调了 VDA 5050 标准的重要性,该标准旨在打破 AGV 市场的碎片化,并实现不同制造商设备的互联互通。VDA 5050 采用 MQTT 协议,强调高效的通信机制和系统解耦,为机器人协调与控制提供了必要的支持。
ASP.NET Core 外部依赖调用治理实战:HttpClientFactory、Polly 与幂等边界
该文讨论了订单服务中的稳定性问题,主要聚焦于外部依赖的调用链路。即使服务正常,成功率也可能下降,原因包括 HttpClient 使用不当、超时和重试未控制等。文章强调将连接管理、超时预算、重试策略和幂等性统一设计的重要性。具体而言,保障连接复用、适当设置超时和重试并区分瞬时故障与业务冲突是维护服务稳定性的关键。此外,通过示例代码展示了避免常见错误的方法,如不当使用 HttpClient 和无条件重试。文中提出的策略有助于开发者在高并发场景中提高系统的可靠性和恢复能力。
.NET 10 & C# 14 New Features 新增功能介绍-ASP.NET Core
.NET 10 和 C# 14 引入了在 ASP.NET Core 中的增强功能。Minimal API 现在支持自动参数验证,使用 DataAnnotations 可以直接校验请求数据,并在失败时返回 400 错误。新的机制在模型绑定阶段自动处理,有效提升了开发效率。同时,ASP.NET Core 10 新增了对 Server-Sent Events(SSE)的原生支持,允许通过 TypedResults.ServerSentEvents 简化实时数据推送,无需使用 WebSocket。这些新特性使得构建验证和实时推送功能更加便捷。
【译】 我们如何同步 .NET 的虚拟单体仓库(二)
本文讨论了代码流算法在.NET 开发中的应用,强调了源代码和产品存储库间变更的转移过程。通过分析正向流和回流流程,文章展示了如何有效创建拉取请求,处理代码冲突并确保变更的同步。此外,文中提到了双向代码流的复杂性以及如何管理不同提交的更新。关键术语如 PR、VMR 和变更冲突得到了定义,帮助读者理解相关概念。整体上,文章深入探讨了.NET 10 版本发布中的技术细节,围绕代码流算法进行分析,具有一定的前瞻性和实用性。
SourceGenerator 之 partial 范式及测试
本文介绍了 partial 范式及其在代码生成中的应用。partial 关键字允许将类或方法分散到多个文件中,提高代码的组织性和可维护性。结合 Attribute 特性,partial 范式能自动补全代码,减少重复并提升性能。文中提到的 GenerateCore 开源项目,展示了这一方法在正则表达式、序列化和日志等应用场景中的有效性。通过标记和过滤的机制,partial 范式不仅提升了代码的可读性,还加强了代码生成的灵活性与控制力。整体而言,该范式为 C# .NET 开发提供了有价值的代码优化方案。
【译】 数据摄取构建模块简介(预览版)(二)
本文讨论了如何丰富和存储数据块,介绍了数据块处理器和存储方案。通过使用内置的 SummaryEnricher,本文展示了如何为数据块添加摘要信息。然后,使用 SQLite 将处理后的数据存储在本地数据库中,展示了连接和写入的示例。此外,文章还描述了如何编写和运行数据摄取管道,对文件进行处理并打印输出结果。强调了单个文档导入失败不应导致整个过程失败,并建议调用者处理任何失败的情况。最后,文章提到了如何进行向量搜索以检索存储的数据块。
上周热点回顾(3.9-3.15)
本文讨论了多个热点话题,包括 OpenClaw 的安全性、AI 代码生成的效率及其错误率。文章分析了 AI 在不同程序员表现上的差异,探讨了 AI 如何处理代码审核。还涉及 OpenClaw 的技术构架及其与企业微信的集成等内容,展示了其在商业应用中的潜力。整体文章结构清晰,信息丰富,及时反映行业动态。
Serilog 日志库简单实践(五)数据库 Sinks(.net8)
本文介绍了 Serilog 及其数据库 Sinks,重点讨论如何将日志写入 MySQL 数据库。首先,文章描述了 Serilog 的特性,并比较了不同数据库类的 Sinks,最后提供了具体的实现步骤。实现过程包括创建数据库、安装 NuGet 包、配置连接字符串等,给出了示例代码,便于读者理解和实践。内容结构清晰,适合 .NET 生态的开发者使用。采用 Serilog.Sinks.MariaDB 是推荐方案,因其兼容性强。文章内容针对性强,实用性高,且具备较好的可读性。
【译】 Microsoft.Testing.Platform 现已在 Azure DevOps 中得到全面支持
本文介绍了 Microsoft.Testing.Platform 与 Azure DevOps 的集成,强调其对 CI/CD 管道的支持。新版本提供了两种关键改进:通过 DotNetCoreCLI 任务无缝运行测试,以及智能处理重试测试结果。引入的 Microsoft.Testing.Platform 视为 VSTest 的现代替代方案,提供灵活的测试执行选项。文章解释了在 Azure DevOps 中运行测试的两种方法,分别是使用 DotNetCoreCLI 任务和直接通过命令行运行 'dotnet test'。对于使用 VSTest 的用户,建议迁移到新的测试平台,并更新命令行参数以适应新语法。整体体验流畅且可操作性强。
Hagicode.Libs:统一集成多个 AI 编程助手 CLI 的工程实践
本文介绍了 HagiCode 项目的工程实践,聚焦于多个 AI 编程助手 CLI 的统一集成。作者分享了在集成 Claude Code、Codex 和 CodeBuddy 等工具中的经验,指出各 CLI 之间的参数、输出和环境要求差异导致维护困难。为解决这一难题,作者创建了 HagiCode.Libs,构建统一的抽象层以简化代码,并提供一致的接口。该项目旨在处理跨平台兼容性问题,同时支持流式输出的解析。HagiCode.Libs 使用 .NET 10 开发,遵循 MIT 开源协议,已在 GitHub 发布。
【译】 如何使用 .NET MAUI 构建 iOS 小部件
本文讨论作者作为 .NET 开发人员在使用 .NET MAUI 构建 iOS 小组件过程中面临的挑战及解决方案。作者指出,尽管文档有限,使用 .NET MAUI 构建小组件是可行的,并能达到专业水平。文章提供了一系列的技术细节和步骤,如如何获取应用的 Bundle ID、创建 Widget 项目和配置应用程序,以便于读者建立完整的交互式小部件。作者建议具备 .NET MAUI 或 Xamarin 经验的读者阅读整篇文章,以便掌握关键细节。
Spring IOC 源码学习 事务相关的 BeanDefinition 解析过程 (XML)
文章详细描述了 Spring 框架中与事务和 AOP 相关的 BeanDefinition 解析过程。对于 jdbcTemplate、transactionManager 和 dataSource 的处理使用默认命名空间,阐明了 DefaultBeanDefinitionDocumentReader 的工作原理。文章关注了如何解析 XML 标签,包括默认命名空间和自定义命名空间的处理。具体地,aop 标签的配置中,分析了切点和通知的配置细节,并讨论了 internalAutoProxyCreator 的注册过程。整体内容覆盖了 XML 加载流程、AOP 配置及 BeanDefinition 的生成,具有一定的深度和实用性。
【译】 数据摄取构建模块简介(预览版)(一)
在构建人工智能应用时,上下文是关键。人工智能模型通常无法访问个人和公司数据。为生成高质量答案,需要高质量数据和适时的信息呈现。这通过上下文工程实现,尤其是数据摄取管道的设计。针对.NET 开发者,新推出的数据摄取构建模块使其能够高效处理数据,满足 AI 应用需求,包括统一文档表示、灵活数据摄取和生产就绪存储。这些组件建立在可扩展的.NET 生态系统中,确保可靠性和良好的互操作性。
国际周报
话题
.NET 和 .NET Framework 2026 年 3 月服务发布更新 - .NET 博客
devblogs.microsoft.com/dotnet/dotn…
.NET 11 预览版 2 现已上线! - .NET 博客
devblogs.microsoft.com/dotnet/dotn…
适用于 Visual Studio Code、光标及兼容编辑器的 ReSharper 已发布 | .NET 工具博客
blog.jetbrains.com/dotnet/2026…
毛伊岛阿瓦洛尼亚预览 1 - 阿瓦洛尼亚界面
用.NET 技能扩展你的编码代理 - .NET 博客
devblogs.microsoft.com/dotnet/exte…
官方 MCP C# SDK - .NET 博客 v1.0 版本发布
devblogs.microsoft.com/dotnet/rele…
宣布 WinUI Gallery 2.8 - #ifdef Windows
devblogs.microsoft.com/ifdef-windo…
Microsoft.Data.SqlClient 7.0 预览:最后,Azure.Identity 是可选的! 🎉
CoreCLR、脚本和 ECS 状态更新 - 2026 年 3 月 - Unity 引擎 - Unity 讨论
discussions.unity.com/t/coreclr-s…
需要反馈:取消 Microsoft.Data.Sqlite 中的.NET Framework 支持· 第#37895 期 · dotnet/EFcore(点网/EFcore)
用 GitHub Copilot 现代化.NET Anywhere - .NET 博客
devblogs.microsoft.com/dotnet/mode…
Aspire Conf — 3 月 23 日,太平洋时间上午 9:00
Microsoft Build,2026 年 6 月 2-3 日 / 旧金山及线上
build.microsoft.com/en-US/home
发布
- aws/aws-sdk-net
- Azure/azure-cosmos-dotnet-v3
- Azure/azure-sdk-for-net
- Azure.AI.ContentUnderstanding_1.0.1,Azure.AI.ContentUnderstanding_1.0。 2, Azure.Identity_1.19.0, Azure.Provisioning_1.5.0,Azure.Provisioning.AppContainers_1.2。 0, Azure.Provisioning.Network_1.0. 0, Azure.ResourceManager.DisconnectedOperations_1.0. 0,Azure.ResourceManager.DurableTask_1.1。 0, Azure.ResourceManager.NetApp_1.15。 0 Azure.ResourceManager.ServiceFabricManagedClusters_1.3.0,Azure.ResourceManager.Storage_1.6。 1
- DataDog/dd-trace-dotnet
- domaindrivendev/Swashbuckle.AspNetCore
- dotnet/dotnet-monitor
- googleapis/google-cloud-dotnet
- Google.Cloud.AIPlatform.V1-3.67.0,Google.Cloud.AlloyDb.V1-1.14. 0, Google.Cloud.Compute.V1-3.25. 0, Google.Cloud.Compute.V1-3.26. 0, Google.Cloud.Dataplex.V1-3.13. 0, Google.Cloud.DevTools.ContainerAnalysis-3.15. 0, Google.Cloud.DocumentAI.V1-3.24. 0, Google.Cloud.Firestore-4.2. 0, Google.Cloud.Iap.V1-2.10. 0, Google.Cloud.PubSub.V1-3.33. 0, Google.Maps.Routing.V2-1.2. 0, Google.Shopping.Merchant.Products.V1-1.4. 0, Google.Shopping.Type-1.1. 0
- microsoft/WindowsAppSDK
- NPGSQL/NPGSQL
- 开放遥测/开放遥测点网贡献
- StackExchange/StackExchange.Redis
文章、幻灯片及更多内容
获取 Visual Studio 订阅内幕,直接发送到您的邮箱——Visual Studio 博客
devblogs.microsoft.com/visualstudi…
[C# 中级] 你在收藏中指定容量吗?
来自 .NET 8 和 AWS Lambda。 我转到 NET 10 - Qiita 时做了什么
用.NET 原生 AOT 下线直播游戏
sephnewman.substack.com/p/offlining…
[C#] 备忘录:基类事件不能在派生类中点燃
用 bUnit 测试 Blazor 组件
正确处理反应性属性验证的基础与实践 - Qiita
免费离线语音转文字(Whisper, Vosk)- Qiita
从 MOQ 转入国家学区 - 谦逊紫罗兰
shin21.hatenablog.com/entry/2026/…
C# 模拟库 2026 - 用 NSubstitute 开始单元测试
我对 F#的想法 - 奇塔
我应该遵循 CA1822“可标记为静态”吗? 整理好哪些箱子该穿,哪些不该穿——Qiita。
多么出色的 C#高级工程师对学习 TypeScript 感到困惑又坚定(Next.js)——Qiita。
我没钱,所以我想尽可能在本地 Docker 上复制 Azure App Service 的性能
正在访问 Oracle B2C(现在),从 C#到 SOAP
一个总结基于 GitHub Copilot SDK 创建 Copilot Cowork 原因的故事
. 在.NET 开发中使用 Claude 代码的测试策略
试用 Voice Live API 预览版(2026-01-01-预览)中的新功能 - Foundry 代理工具 / 填充响应 / 回声消除 - Qiita
C#原木,依然是伐木工。 你是在用 Log 写吗~?
【C#】。 NET Aspire + YARP 404 错误。 如何正确处理 HttpClient 以启用服务发现 - Qiita
拆分网络冒险。EnumGenerators 包:走向稳定发布之路
Satori GC - 目标是同时实现高吞吐量、低延迟和低内存使用——Qiita
Visual Studio 开发必备:每位开发者免费实用的工具 - Visual Studio 博客
devblogs.microsoft.com/visualstudi…
[C#] const 和静态只读有什么区别? 我很好奇怎么用,所以查了一下——Qiita。
[C#] “BenchmarkDotNet 图表”方便易读
在 Microsoft Agent Framework 的 AIContextProvider 中实现工具的懒惰加载
在 dotnet 上发布多平台原生的进击者
关于 SourceGenerator 中的标记属性问题
[C#] 我试过《炽热故事》——奇塔
Windows.Graphics.Capture C# 中的窗口捕获
.NET:CopyToAsync vs WriteAsync:你没意识到需要的基准测试
https://dev.to/gramli/net-copytoasync-vs-writeasync-the-benchmark-you-didn't-know-you-needed-1g39
在 WinUI3 中发布一个 C#和 C++/WinRT 混合项目,作为一个自包含的桌面应用
C# DevKit 并非完全免费,Rider 也是非商业性的:关于 C# 开发环境的错误信息不知为何传播开来
[快速事实] 显示 BenchmarkDotNet 结果让 Spectre.Console 更丰富一些!
“我要宏”→“用源生成器”→“很难”→“看,我做到了”
用 C#编写.NET 垃圾回收器 - 第 8 部分:内部指针
[.NET] 每个 BenchmarkDotNet 设置(备忘录)输出内容差异
覆盖项目文件 - tech.guitarrapc.cóm 中 Directory.Build.props 中指定的 PackageReference
tech.guitarrapc.com/entry/2026/…
库、仓库、工具等
gragra33/Blazing.Mvvm:🔥 Blazing.Mvvm - Blazor 的 MVVM 全面支持 CommunityToolkit.Mvm。 支持所有托管模式(服务器、WASM、SSR、自动、混合、MAUI)。 具备强类型导航、自动 ViewModel 注册、参数解析、验证支持以及全面的生命周期管理。 包含样本和完整文档。
actbit/蒙面 UUID
nickprotop/ConsoleEx:SharpConsoleUI — 一个.NET 8+ 控制台窗口系统,具有重叠窗口、30+ 控件、嵌入式终端仿真器、画布绘图和每窗口异步 线索。
KumikoUI - MAUI 免费开源数据网格
Codex - Windows 免费下载和安装 | Microsoft Store
apps.microsoft.com/detail/9plm…
汤姆林
今日人物
巴特勒·莱特·兰普森(英语:Butler Wright Lampson,1943 年 12 月 23 日—),生于美国华盛顿特区,计算机科学家,为 1992 年图灵奖得主。曾提出个人电脑的设计概念、存取控制矩阵。
中学毕业于罗伦斯威尔中学(Lawrenceville School),1964 年于哈佛大学取得物理学硕士学位。1967 年,取得加州柏克莱大学电机工程与计算机科学博士。
在 1960 年代中,巴特勒·兰普森成为加州柏克莱大学 Project Genie 的一分子。1965 年,Project Genie 中的几名成员,以巴特勒·兰普森及彼得·多伊奇等人为主,在 SDS 940 电脑上,开始发展一个多工操作系统,柏克莱分时系统(Berkeley Timesharing System)。
1970 年,成为全录帕罗奥多研究中心最早一批员工之一,他属于其中的计算机科学实验室(Computer Science Laboratory)。1972 年,在一份备忘录中,首次提出个人电脑设计概念[1]。1973 年,帕罗奥多研究中心发表了 Xerox Alto,配备三键鼠标及全尺寸显示器,被认为是最早的个人电脑原型。
在全录时,他还参与激光打印机的设计,开发了二阶段提交协议,第一个所见即所得(WYSIWYG)的文字编辑器 Bravo;第一个高速局域网络,Ethernet 等。他也参与了数个编程语言的设计,如 Euclid。
在 1980 年代中,巴特勒离开全录,进入迪吉多公司的系统研究中心(SRC)。后来,他加入微软研究院,成为其中的院士。此外,他也是麻省理工学院的讲座教授。
1992 年获得图灵奖。1994 年,成为计算机协会(ACM)院士。
