.NET周刊【7月第2期 2025-07-13】
了解如何使用 GitHub Copilot 的自定义说明。本文介绍如何在 copilot-instructions.md 中自定义 GitHub Copilot 代理模式。关于启动 OpenCLI,它定义了 CLI 的接口(例如参数和选项)。规格 | OpenCLI[spectreconsole/open-cli:OpenCLI 规范 (OCS) 定义了与 CLI 应用程序无关的标准、平台和语言接
国内文章
.Net 下高性能 Socket 的方案
https://zhuanlan.zhihu.com/p/1924520585976849438
简单介绍Socket的数据组成。详细介绍.Net高性能的类型:Span,Ros,Memory和ReadOnlyMemory,以及System.IO.Pipelines这个类库。最后给出高性能Socket写入代码,并附带Benchmark测试。
使用 OpenAuth.Net 快速搭建 .NET 企业级权限工作流系统
https://www.cnblogs.com/Can-daydayup/p/18973829
本文介绍了OpenAuth.Net,一个基于.NET的开源权限管理与工作流系统,适合企业级应用开发。它结合了多种现代技术,具有多租户支持、规范代码风格和简洁的代码生成等特点。OpenAuth.Net支持可视化的表单和流程设计,并兼容多种数据库和ORM框架。文章还提供了环境安装及数据库初始化的详细步骤,说明了如何使用前端和后端代码。链接到项目官网和开源地址,便于读者获取更多资源与文档。
.NET 9 + React 开发的企业级后台权限管理系统,文档齐全,轻松上手
https://www.cnblogs.com/1312mn/p/18974282
风汐管理系统是一个开源的RBAC权限管理解决方案,使用.NET 9和React 18构建。该系统独立设计,满足细粒度权限需求,支持多租户架构,实现数据隔离。其功能包括角色管理、权限管理、菜单管理、日志管理和系统监控,具备简洁高效的用户界面和模块化架构。系统采用前沿技术栈,确保良好的扩展性和可维护性,并具备高可读性代码结构。技术选型涵盖PostgreSQL、Redis以及多种辅助工具。整体设计注重安全性与性能,适合个人和企业用户使用。
一款开源免费、通用的 WPF 主题控件包
https://www.cnblogs.com/Can-daydayup/p/18971544
Rubyer WPF 是一款开源的 WPF 主题控件包,支持中英文切换和亮暗模式。开发者可以通过参数配置轻松改变整体主题样式。该控件包包括多种主题控件,如按钮、表格和对话框等,适用于 .NET Framework 4.6、.NET Core 3.1、.NET 6 和 .NET 8。本文介绍了如何在 WPF 项目中安装和引入 Rubyer,并提供运行效果展示。项目源码已在 Gitee 上发布,鼓励人们参与并给予支持。该项目被收录于优秀的 C#/.NET 项目列表中,帮助开发者获取最新的动态和最佳实践。
我是如何实现在线客服系统的极致稳定性与安全性的
https://www.cnblogs.com/sheng_chao/p/18974643
本文强调稳定性和安全性在在线客服系统中的重要性。作者分享了客服系统的架构设计,强调模块化和私有化部署的必要性,以适应不同客户需求。系统核心分为多个服务模块,通过清晰的通信机制支持高并发、低延迟的实时交互。提供一键安装脚本简化部署过程,适应多种运行环境。同时,系统还实现了多租户支持和数据安全设计,确保聊天数据的隐私和可控性。文章旨在为开发实时在线系统的工程师提供参考。
C#脚本化(Roslyn):如何在C#脚本中引入nuget包
https://www.cnblogs.com/yangtb/p/18881071
本文讨论如何在C#脚本编辑器中使用Roslyn引用nuget包。首先,简介了获取nuget包及其依赖的方法,包括直接下载和解压nuget包,以及基于创建空C#项目的方法。通过创建一个项目,使用PackageReference标签引用所需包,确保输出程序集和资源文件。然后,利用dotnet编译生成所需文件。最后,示例代码验证了该方法的有效性,展示了如何通过Roslyn运行使用Newtonsoft.Json的C#脚本。
C#源生成器:让你的代码飞起来的黑科技
https://www.cnblogs.com/token-ai/p/18979978
本文介绍了C#源生成器的概念与优势。源生成器在编译时自动生成高质量的代码,显著提升性能,尤其在序列化场景中,性能提升高达117倍。传统反射方法在运行时分析类型结构,开销较大,而源生成器在编译前完成这些工作,优化了内存占用和效率。文中还展示了一个简单的源生成器示例,包括项目配置与代码实现,适合开发者进行实际操作。读者通过本文可以全面理解源生成器的使用与优势。
[原创]《C#高级GDI+实战:从零开发一个流程图》第06章:繁琐?没扩展性?抽象!抽象!
https://www.cnblogs.com/lesliexin/p/18972184
本文主要讨论了如何通过抽象来改进形状的实现,特别是在C#中定义形状基类。作者指出,增加新形状会导致代码冗余和复杂性,因此提出了使用抽象类来提升可维护性和扩展性。首先创建了一个形状基类,包含通用属性,如ID和矩形区域。然后通过抽象方法Draw()让派生类具体实现绘制逻辑。此外,定义了虚方法GetCenterPoint()来统一获取形状的中心点。文章强调了使用抽象类的必要性,以便对未来的功能扩展提供基础支持。完整代码可供读者参考。
我在厂里搞wine的日子
https://www.cnblogs.com/yangtb/p/18973171
本文记录了作者在使用Wine时遇到的希沃白板汉字识别卡的问题,主要关注COM组件和注册表缺失引起的错误。作者通过编写Demo代码进行调试,并分析了Wine日志以寻找问题根源。最终,作者建议通过从Windows系统复制缺失的注册表项来解决问题。文章提供技术细节,但对新手可能有一定难度。
C# Avalonia动态加载xaml和cs实例
https://www.cnblogs.com/dalgleish/p/18974674
这篇文章介绍了AvaloniaUI中的非编译XAML的使用。它展示了一个简单的窗口,包含一个按钮和动态加载的内容。文章提供了XAML和C#代码示例,说明如何在Avalonia框架中实现动态内容加载及支持多个.cs文件编译。该扩展允许开发者通过简单的事件处理机制来添加控件,并利用XAML绑定机制展示数据。整体内容具有技术深度,实际应用性强,并且逻辑清晰,便于理解。
.NET AI 模板
https://www.cnblogs.com/powertoolsteam/p/18970200
随着人工智能技术的发展,AI应用开发成为.NET开发者的必备技能。微软推出的.NET AI模板预览版为开发者提供了构建智能聊天应用的工具和指南。本文介绍了如何安装和使用该模板,包括项目结构、核心功能和跨平台支持。模板允许自定义聊天界面、与Azure集成,并支持多数据源处理。通过简单配置,开发者可以快速上手AI开发,降低学习曲线,灵活扩展功能,提升开发效率。此模板为现代开发者提供了便捷的开发体验。
通过 .NET Aspire 使用本地 AI 模型
https://www.cnblogs.com/powertoolsteam/p/18976279
本文介绍了如何在本地环境使用 .NET Aspire 框架结合 Ollama 来运行和测试 AI 模型。使用本地模型可以节省云资源,迭代速度更快,同时提高隐私保护。文章详细讲解了Ollama的安装、配置和使用。通过命令行安装Ollama集成包,并介绍了如何在 Program.cs 文件中配置Ollama托管集成。文章还解释了如何添加具体的AI模型以及如何与模型交互,确保模型在应用启动时下载完成,并方便与云服务切换。
多Agent协作入门:群组聊天-AgentGroupChat
https://www.cnblogs.com/edisontalk/p/-/quick-start-agent-orchestration-agentgroupchat
本文介绍了如何利用Semantic Kernel中的AgentGroupChat对象创建多代理群组对话。作者以Reviewer和Writer为例,展示了两种代理如何协作审核和优化文案。文中包括快速入门案例,涉及.NET控制台项目的设置和配置,使用了特定的NuGet包。此外,还提供了API配置示例,以便与SiliconCloud的Qwen2.5-32B-Instruct模型交互。整体内容重点在于技术实现,适合对多代理协作有兴趣的开发者。
【EF Core】框架是如何识别实体类的属性和主键的
https://www.cnblogs.com/tcjiaan/p/18980412
本文探讨了 EF Core 如何通过约定机制识别实体属性并映射到数据库。作者解释了 DbContext 如何通过默认行为自动创建模型,并介绍了多个约定接口,如 IConvention 和 IPropertyAddedConvention。这些接口函数类似于事件回调,能在模型变更时被调用,确保模型结构始终更新。最后,篇幅提到当 EF Core 初始化时添加预置约定集合,由 ProviderConventionSetBuilder 类负责创建,增强了 EF 的灵活性和可扩展性。
VKProxy新增一些功能
https://www.cnblogs.com/fs7744/p/18975208
VKProxy是一款使用C#开发的基于Kestrel的L4/L7代理,新增了会话亲和性、禁止HTTP、静态内容和简单WAF功能。会话亲和性机制将请求序列绑定到相同目标以提高性能,支持HashCookie、ArrCookie、Cookie和CustomHeader四种策略,通过请求中的亲和性键管理会话。用户能在集群元数据中设置会话亲和性选项,通过配置项控制Cookie属性,确保更高效和安全的会话管理。
C# Avalonia 03 - LayoutPanels - SimpleInkCanvas
https://www.cnblogs.com/dalgleish/p/18978564
本文介绍了如何在C# Avalonia中扩展InkCanvas类,以兼容Canvas的所有功能。首先,文章指出如何通过Content属性定义自定义内容区域,以及Render方法不能重写的限制。接着,作者实现了InkCanvas类,涉及InkEditingMode、InkStroke等枚举及类,并示例了如何在Render方法中绘制笔画和选框。该扩展为图形界面开发提供了实用工具,适合需要实现手写或绘图功能的应用。
PATCH请求REST API之MyDeltas.net
https://www.cnblogs.com/xiangji/p/18979384
本文介绍了PATCH请求在REST API中的使用,特别是其实现方案如JSON Patch和MyDeltas.net。PATCH用于部分更新,提供更精准的语义。文中详细对比了MyDeltas和JSON Patch,强调MyDeltas生成的JSON更简洁,且更适合简单的实体类。MyDeltas支持系统的序列化与反序列化,提供了灵活的API,用于增量修改。文章讨论了如何通过nuget安装和使用MyDeltas的具体步骤,使得变更操作简单高效。整体上,文章逻辑清晰,内容具有实践意义。
留个VKProxy性能测试记录
https://www.cnblogs.com/fs7744/p/18978275
该文章讨论了OpenTelemetry对性能测试的影响,并计划先进行简单的性能测试。作者关注OpenTelemetry对Go语言的性能影响,认为可能会拖慢超过30%的性能,尽管持谨慎态度。文章提到使用C#的ASP.NET Core创建一个天气预报API控制器,展示了基本的代码实现和代理配置,强调了简单有效的基准项目。整体内容清晰地展现了性能测试的目的和实现方式。
主题
.NET 10 预览版 6 现已推出! - .NET 博客
https://devblogs.microsoft.com/dotnet/dotnet-10-preview-6/
.NET 10 预览版 6 现已推出。
-
BCL
- 拒绝重复 JSON 属性的选项
- 严格的 JSON 序列化选项
- 后量子密码学 (POC)
-
运行
- 改进了值类型参数的代码生成
- 改进的循环反转
- 改进了值类型参数的代码生成
-
开发软件
- 特定于平台的 .NET 工具
- 一次性工具执行
- “dnx”工具执行脚本
- 用于 CLI 自省的 ‘–cli-schema’ 选项
- 基于文件的应用程序改进
-
C#
- 没有新功能
-
F#
- 没有新功能
-
ASP.NET Core 和 Blazor
- 从内存池中自动删除
- Blazor WebAssembly 预加载
- JavaScript 捆绑程序友好的 Blazor 生成输出
- 流式处理开始后的 NavigationManager.NotFound()。
- 改进的 Blazor 诊断
- Blazor 服务器状态持久性
- 为 ASP.NET Core Identity 添加了密钥支持
- 与 IProblemDetailsService 集成以实现最少的 API 验证
-
.NET MAUI
- MediaPicker 改进
- 拦截 WebView 请求
- 控件和布局修改
-
适用于 Android 的 .NET
- Android API 级别 35 和 36 支持
-
适用于 iOS、Mac Catalyst、macOS、tvOS 的 .NET
- Xcode 16.4 的绑定生成和构建可靠性等改进
-
Windows 窗体
- 提高质量和构建性能
-
Windows 演示基础 (WPF)
- 提高质量和构建性能
-
EF Core
- 提高质量和构建性能
-
容器映像
- 提高质量和构建性能
使用 .NET 构建第一个 MCP 服务器并发布到 NuGet - .NET 博客
https://devblogs.microsoft.com/dotnet/mcp-server-dotnet-nuget-quickstart/
了解如何使用 .NET 10 预览版 6 生成 MCP 服务器并将其发布到 NuGet。
本文介绍实现和发布,以及如何使用预览版 6 中引入的“dnx”命令使用上传到 NuGet 的 MCP 服务器。
自定义 GitHub Copilot 的 AI 响应 - .NET 博客
https://devblogs.microsoft.com/dotnet/customize-ai-responses-from-github-copilot/
了解如何使用 GitHub Copilot 的自定义说明。 本文介绍如何在 copilot-instructions.md 中自定义 GitHub Copilot 代理模式。
.NET MAUI 团队如何使用 GitHub Copilot 提高工作效率 - .NET 博客
https://devblogs.microsoft.com/dotnet/maui-team-copilot-tips/
在 .NET MAUI 团队上使用 GitHub Copilot 的见解。
文章介绍了 copilot-instructions.md、防火墙、Copilot Coding Agent 设置步骤、MCP 服务器设置等,以及实际项目中 PR 的合并率和时间。
Microsoft 能够在没有通知的情况下删除我们的一些软件包 - 解释是什么? · NuGet/主页 · 讨论 #14413
https://github.com/NuGet/Home/discussions/14413
Microsoft.Identity.Client 被标记为有问题,导致错误地删除依赖的 NuGet 包。 目前正在修复中,将于本周末提供详细说明。
- NuGet | Status - 历史记录显示当前响应状态
- 因此Microsoft在没有通知的情况下从 NuGet.org 中删除了我们的一些软件包
发布
- App-vNext/Polly - 8.6.2
- aws/aws-sdk-net
- Azure/azure-sdk-for-net
- Azure.Core_1.47.0, Azure.Core_1.47.1、Azure.Identity_1.14.2、Azure.Identity.Broker_1.2.1、Azure.Provisioning_1.2.1、Azure.Provisioning.Storage_1.1.2、Azure.ResourceManager.ManagedServiceIdentities_1.4. 0, Azure.ResourceManager.MongoDBAtlas_1.0. 0, Azure.Storage.Blobs_12.25. 0, Azure.Storage.Blobs.Batch_12.22. 0, Azure.Storage.Common_12.24. 0, Azure.Storage.Files.DataLake_12.23. 0, Azure.Storage.Files.Shares_12.23. 0, Azure.Storage.Queues_12.23. 0, System.ClientModel_1.5.1
- 社区工具包/Aspire
- DataDog/dd-trace-dotnet
- dotnet/毛伊岛
- dotnet/奥尔良
- googleapis/google-cloud-dotnet
- Google.Cloud.AIPlatform.V1-3.38.0 谷歌云计算.V1-3.10.0、Google.Cloud.Config.V1-1.8. 0、Google.Cloud.NetworkServices.V1-1.3。 0、Google.Cloud.Security.PrivateCA.V1-3.10。 0、Google.Cloud.Tools.DocUploader-0.3。 0、Google.Cloud.Tools.SbomGenerator-0.5。 0、Google.Maps.FleetEngine.Delivery.V1-2.3。 0、Google.Maps.FleetEngine.V1-2.3。 0
- LuckyPennySoftware/自动映射器
- microsoft/WindowsAppSDK
- newrelic/newrelic-dotnet-agent
文章、幻灯片等
好像C#14中的空检查只需要一行—Qiita
https://qiita.com/sebayashi-tomoya/items/94d0af9a748590da2d5f
C# 14 中引入的 null 条件分配简介。
C# 14 扩展成员; 又名扩展一切:探索 .NET 10 预览版 - 第 3 部分
https://andrewlock.net/exploring-dotnet-10-preview-features-3-csharp-14-extensions-members/
C# 14 扩展成员的说明。 在本文中,我们将讨论扩展方法之间的区别,如何实际描述它们,如何直接调用扩展成员等。
.NET时事 | 2025 年 7 月 | .NET Tools 博客
https://blog.jetbrains.com/dotnet/2025/07/15/dotinsights-july-2025/
JetBrains 的 .NET 时事通讯,2025 年 7 月。
为 Uno 平台引入新的轻量级 DataGrid
https://platform.uno/blog/introducing-a-new-lightweight-datagrid-for-uno-platform/
介绍在 WinUI 和 UnoPlatform 上运行的轻型 DataGrid (WinUI.DataGrid)。
OpenCLI 简介
https://patriksvensson.se/posts/2025/07/introducing-open-cli
关于启动 OpenCLI,它定义了 CLI 的接口(例如参数和选项)。
- 规格 | OpenCLI
- [spectreconsole/open-cli:OpenCLI 规范 (OCS) 定义了与 CLI 应用程序无关的标准、平台和语言接口,允许人类和计算机 了解如何在不访问源代码或文档的情况下调用 CLI 工具。(https://github.com/spectreconsole/open-cli)
MCP C# SDK 中的 OAuth:简单、安全、标准 · 登德利马尔斯基
https://den.dev/blog/mcp-csharp-sdk-authorization/
如何在 MCP C# SDK 中支持 OAuth 2.1 身份验证。
.NET 10 的隐藏瑰宝:将改变您的开发的鲜为人知的功能
https://www.mobilize.net/blog/the-hidden-gems-of-.net-10-lesser-known-features-that-will-transform-your-development
介绍 .NET 10 鲜为人知的功能。 证书管理 ISOWeek.ToDateOnly、跨度支持字符串规范化、JIT 改进、框架提供的包的自动删除、本机选项卡补全、增加的指标和 HTTP/3 性能增强、改进的容器集成等。
C# 语言中不是常量但在运行时被优化为常量的东西 - Qiita
https://qiita.com/rougemeilland/items/db5a57456079de9b5006
例如,通过 JIT 优化的值(const 常量除外)。
[C#] RecordClass 中 Equals() 的绊脚石故事 - Qiita
https://qiita.com/masamin/items/fe13ab4acdd3bcbbcae5
如何比较事件与记录类型中的“等于”。
最近的 .NET async/await 可视化计划(也用于 printf 调试) - Qiita
https://qiita.com/cozyupk/items/50bfa7e5ba6d6bf5121e
如何观察 async/await 的行为以查看它是如何工作的。
AutoMapper 商业发布的注意事项
https://zenn.dev/karamem0/articles/2025_07_10_090000
新版本的 AutoMapper 已更改其商业用途的许可证和注释。
您还可以在 C# 中创建 aviutl2 插件! 使用原生 AOT
https://zenn.dev/yamachu/articles/f3912ea418f530
了解如何使用本机 AOT 在 C# 中为 AviUtl2 创建插件。
库、存储库、工具等
Cysharp/AIApiTracer:本地开发环境的反向代理,拦截对 OpenAI、Anthropic 等 AI 服务的请求,允许您跟踪请求和响应 内容。
https://github.com/Cysharp/AIApiTracer
反向代理,用于跟踪 API 对 AI 服务的请求。
C# .NET 交流群
相信大家在开发中经常会遇到一些性能问题,苦于没有有效的工具去发现性能瓶颈,或者是发现瓶颈以后不知道该如何优化。之前一直有读者朋友询问有没有技术交流群,但是由于各种原因一直都没创建,现在很高兴的在这里宣布,我创建了一个专门交流.NET性能优化经验的群组,主题包括但不限于:
- 如何找到.NET性能瓶颈,如使用APM、dotnet tools等工具
- .NET框架底层原理的实现,如垃圾回收器、JIT等等
- 如何编写高性能的.NET代码,哪些地方存在性能陷阱
希望能有更多志同道合朋友加入,分享一些工作中遇到的.NET问题和宝贵的分析优化经验。目前一群已满,现在开放二群。可以加我vx,我拉你进群: ls1075 另外也创建了QQ Group: 687779078,欢迎大家加入。
更多推荐
所有评论(0)