.NET周刊【5月第2期 2025-05-11】

360影视 欧美动漫 2025-05-25 08:42 1

摘要:本文介绍了每月定期推荐的C#/.NET/.NET Core优秀开源项目和框架,内容包括项目简介、功能特点和使用方法。推荐了多个项目,如EverythingToolbar、MCP C# SDK、JYX2、ApeVolo.Admin、TinyWall和YourWe

C#/.NET/.NET Core优秀项目和框架2025年4月简报

本文介绍了每月定期推荐的C#/.NET/.NET Core优秀开源项目和框架,内容包括项目简介、功能特点和使用方法。推荐了多个项目,如EverythingToolbar、MCP C# SDK、JYX2、ApeVolo.Admin、TinyWall和YourWeather,各自具有独特功能和应用场景,适合不同开发者使用。推文链接和源码地址提供了更详细的信息,充分满足开发者的需求。

在 .NET 中使用 Sqids 快速的为数字 ID 披上神秘短串,轻松隐藏敏感数字!

本文探讨了数字 ID 在数据安全和隐私中的重要性,介绍了 Sqids,一个基于 C# 的开源工具库,能够将数字编码为看似随机的字符串,从而保护敏感数据。Sqids 可生成唯一 ID,并能解码回原始数字,具有支持多种整数类型和可自定义选项的优点。此外,文章提供了在 .NET 中创建控制台应用和使用 Sqids 的具体示例,包括如何安装 NuGet 包及使用默认与自定义选项进行编码和解码。整体结构清晰、实用,适合开发者了解和应用。

如何把ASP.NET Core WebApi打造成Mcp Server

本文介绍了模型上下文协议(MCP),强调其在AI开发框架和工具中的重要性。MCP标准化了应用程序与大语言模型(LLM)之间的上下文交互,支持多种开发语言和平台。文章通过微软的Semantic Kernel和Microsoft.Extensions.AI框架展示如何将ASP.NET Core WebAPI转换为MCP Server。MCP Hosts、Clients和Servers的概念明确了不同组件的角色。文中还介绍了相关框架的功能与实现,强调了插件和功能调用的整合,这对于AI应用的开发至关重要。

C# 14 新增功能一览,你觉得实用吗?

本文介绍了C# 14中新增的几个功能特性,包括扩展成员、field关键字、隐式跨度转换、未绑定的泛型类型与nameof、带修饰符的简单lambda参数、更多部分成员的支持以及条件赋值。这些特性简化了代码并提升了性能,使得编码更高效,增强了C#的表达能力。示例代码展示了如何实现这些新特性,突出其实际应用和优势。

突破Excel百万数据导出瓶颈:全链路优化实战指南

在工作中,Excel数据导出是一项常见需求。大数据量时,内存和性能问题会影响导出效率。文章讨论了三种C#高性能Excel导出方案:EPPlus、MiniExcel和NPOI,比较了处理模型、内存占用和支持的文件格式等。针对不同场景,推荐使用MiniExcel进行简单数据导出,EPPlus进行复杂格式报表,NPOI兼容旧版Excel。性能测试显示MiniExcel在写入时间和内存占用方面表现最佳,并提供了核心代码实现以优化导出过程。

.NET + AI | Semantic Kernel vs Microsoft.Extensions.AI

Microsoft.Extensions.AI 为 .NET 应用架构提供统一的 AI 接口,简化了 AI 模型的集成。它通过标准接口(如 IChatClient 和 IEmbeddingGenerator),使开发者能够无缝调用多种 AI 服务。此库嵌入依赖注入和中间件管道,允许灵活配置和扩展。开发者可使用熟悉的日志和配置系统,轻松管理 AI 服务。在实现上,Microsoft.Extensions.AI 不直接提供 AI 功能,而是通过不同扩展包支持多种服务提供商,如 OpenAI 和本地模型。最终,Microsoft.Extensions.AI 促进了 AI 功能的标准化和可插拔性,增强了开发的灵活性。

线程安全集合 --- Concurrent

本文探讨了C#中的System.Collections.Concurrent下的BlockingCollection及其他并发集合实现生产者-消费者模式。首先介绍BlockingCollection、ConcurrentBag等类的功能与用途,强调它们的线程安全性。接着,详细叙述了IProducerConsumerCollection接口的主要方法,并提供了一个自定义线程安全随机取元素集合的代码示例。整体内容丰富,涵盖了该库的基本用法和实际操作,为开发者提供了实用的参考。

Linux系列:如何用perf跟踪.NET程序的mmap泄露

本文探讨了如何跟踪.NET程序中的mmap内存泄露问题,作者分享了自己的研究成果和实践经验。通过C语言调用mmap分配内存,作者提供了详细的代码示例,并展示了如何将其编译为共享库,以便在C#中调用。文章内容深入浅出,涵盖了技术细节和实践步骤,适合对内存管理有兴趣的开发者。该文章具有较强的实践性和可操作性,能够帮助读者理解和解决类似的问题。

c#开发完整的Socks5代理客户端与服务端——客户端(已完结)

本文介绍如何在Windows上创建一个代理本机流量的客户端,并与之前开发的Socks5服务端对接。通过C#程序设置手动代理,修改注册表实现本机HTTP流量劫持。详细描述了代理服务器地址和端口的设置方法,以及黑名单配置。该文提供了具体的代码实现,确保功能正确,并方便用户进行网络流量管理。

【译】Visual Studio Hub 介绍

Visual Studio Hub 是一个集中获取 Visual Studio 更新和资源的平台。它为用户提供最新功能、GitHub Copilot 资源、关键学习机会和开发人员博客。这一平台让用户可以方便地找到与 Visual Studio 相关的重要信息,并与社区和工程团队互动。Visual Studio Hub 旨在成为开发者获取相关内容的首选资源,未来将不断更新与改进。用户可以通过网站链接访问 Visual Studio Hub。

c# 批量注入示例代码

这篇文章介绍了如何使用自定义属性和反射批量注册服务到依赖注入容器中。它定义了一个 ServiceTypeAttribute 属性,用于标记服务生命周期。扩展方法 RegisterServices 首先获取当前程序集中所有类,并筛选出符合命名规则的服务类。接着,它查找对应的接口,并根据 ServiceTypeAttribute 注册服务。文章具有较好的技术深度和实践性,但在表达上有一定的复杂度。同时,内容较新,涉及的技术在 .NET 生态中仍然具有实际应用价值。总的而言,虽然引用部分略显不足,但提供的代码示例和思路清晰。整体评分为 85。

C#实现ModbusTCP从站(三)

本文通过C#的Socket类实现了ModbusTCP从站的功能,详细介绍了线圈和寄存器的数据缓存机制。文章包括从站如何响应主站请求的处理逻辑,提供了功能码的处理细节,支持多客户端连接及定时读取功能,且运行环境为Windows 11和.NET Framework 4.8.0。代码示例展示了基本的连接、读取和写入方法,帮助开发者理解和实现ModbusTCP通信。

使用C#构建一个同时问多个LLM并总结的小工具

本文探讨了在AI编程时代如何利用多个AI工具得到可行方案,以避免时间浪费。通过设计一个用户控制界面,用户可以输入问题并请求多个AI生成的方案。作者建议收集出现频率最高的三个方案,并使用Cursor或Cline等编程工具实现。这种方法虽需消耗API Token,但效率高。文章强调了利用AI工具的实用性以及设计实现方案的简单性。

.NET 原生驾驭 AI 新基建实战系列(六):Pinecone ── 托管向量数据库的向量数据库的云原生先锋

本文介绍了Pinecone,一种云原生托管的向量数据库,提供高效的存储和查询高维向量数据的能力。在人工智能和机器学习应用中,Pinecone通过先进的相似性搜索技术解决了传统数据库的性能瓶颈。其特点包括高性能、易用性、托管服务和可扩展性,支持多种距离度量。文章还深入探讨了Pinecone的向量索引、相似性搜索和云原生架构等核心原理,展示了其在Semantic Kernel中的集成与使用方法,强调其在智能应用开发中的重要性。

.net core workflow流程定义

本文介绍了WikeFlow工作流的流程定义及其应用。流程定义包括唯一的Key值和业务路径,便于在创建实例时准确找到流程。工作流执行中,通过反射实例化业务类,并调用IWorkFlowService接口实现方法。文章详细阐述了如何关联业务程序集和业务类名,要求业务类实现增删改查等操作及IWorkFlowService接口。这使得业务系统能与WikeFlow2系统交互。示例中说明了请假申请的业务实现,以及相关的状态管理和标记处理。总体上,内容涵盖了工作流的关键实现细节。

如何使用 websocket 完成 socks5 网络穿透

这篇文章介绍了网络穿透的实现方式,特别是通过WebSocket与Socks5代理的结合。作者展示了一段代码,说明如何将Socks5请求转换为WebSocket链接。文章详细解释了每个步骤的逻辑,包括过滤路由和初始化代理。尽管代码和原理简单易懂,但缺少关于实际应用场景的深入探讨。整体上,文章清晰且实用,适合对网络穿透技术感兴趣的读者。

如何反向绘制出 .NET程序 异步方法调用栈

文章讨论了分析异步方法调用栈的问题,尤其是在 .NET Framework 4.8 中缺乏 !dumpasync 命令的情况下。通过创建一个简单的三层架构示例,文章展示了如何实现异步数据库查询并处理可能的异常。案例中包含了从数据库获取客户数据的具体代码,强调了异步编程的实用性和重要性。这种背景和案例分析有助于理解异步调用的复杂性及其调试方法。

如何搭建基于surging的分布式直播流媒体

本文介绍了基于.NET6.0的Surging微服务引擎和分布式RTMP直播服务的搭建与优化。文章详细描述了系统的内存和CPU稳定性测试结果,以及如何利用链路跟踪功能提高开发效率。此外,提供了直播流媒体的配置和下载方式,包括视频文件和推流脚本。文章列出了多协议适配的能力及物联网平台的特点。整体信息清晰,有实用价值,适合开发者使用。

类刺客信条跑酷系统开发日记

本文讲述了在Unity中开发类刺客信条的跑酷摄像机控制系统的过程。首先介绍了摄像机在3D空间中的位置与旋转,通过Quaternion.Euler实现水平旋转,并利用鼠标控制角度。接着,进行了垂直旋转的实现,且设置了角度限制以确保视角合理。本文详细解释了摄像机如何根据目标位置与用户输入动态调整,从而提升游戏的交互性与沉浸感。

莫想到有一天得重新写个 etcd client

本文讲述了作者重写etcd客户端的过程,并分析了现有客户端的缺陷。虽然已有客户端可用,但存在watch功能失效的问题,且作者在检查源代码后发现核心处理代码被删除,导致无法监听变更。作者决定自己实现新的etcd grpc客户端,并通过最新的.proto文件生成相关代码。文中同时提供了简单的使用文档和安装方法,旨在解决etcd的功能缺失以及异常处理问题。

主题

.NET 和 .NET Framework 2025 年 5 月服务版本更新 - .NET 博客

• Microsoft 安全顾问 CVE-2025-26646:.NET 欺骗漏洞 · 问题 #11846 · dotnet/msbuild

🎉 Visual Studio 2022 v17.14 现已正式发布! - Visual Studio 博客

.NET 10 预览版 4 现已推出! - .NET 博客

如何在线观看 Microsoft Build 2025 - Visual Studio 博客

AWS Transform for .NET,首个用于大规模实现 .NET 应用程序现代化的代理 AI 服务 | 亚马逊云科技

代理模式已为 Visual Studio 提供预览版 - Visual Studio Blog

庆祝 5000 万开发人员:Visual Studio 和 Visual Studio 之旅 法典

Visual Studio Live!:面向企业 Microsoft .NET 和 Azure 开发人员的培训会议和活动

语义内核:包预览、毕业和弃用 | 语义内核发布

• aws/aws-sdk-net

• 3.7.1041.0、3.7.1042.0、3.7.1044. 0, 3.7.1045.0, 3.7.1046. 0, 4.0.10.0, 4.0.12.0)、4.0.13.0、4.0.14.0)、4.0.9.0

• Azure/azure-cosmos-dotnet-v3

• 3.50.0

• Azure/azure-sdk-for-net

• Azure.AI.Agents.Persistent_1.0.0, Azure.Core_1.46. 1 Azure.Data.AppConfiguration_1.6.1,Azure.Monitor.OpenTelemetry.AspNetCore_1.3. 0, Azure.Monitor.OpenTelemetry.Exporter_1.4. 0, System.ClientModel_1.4. 1

• dotnet/dotnet-monitor

• v8.1.1

• googleapis/google-cloud-dotnet

• Google.Cloud.AlloyDb.V1-1.10.0, Google.Cloud.BigQuery.AnalyticsHub.V1-1.9.0, Google.Cloud.Deploy.V1-3.6.0,Google.Cloud.GkeBackup.V1-2.8. 0,Google.Cloud.Kms.V1-3.17. 0,Google.Cloud.Kms.V1-3.18. 0、Google.Cloud.NetApp.V1-1.10. 0,Google.Cloud.Run.V2-2.14. 0,Google.Cloud.Storage.Control.V2-1.4. 0,Google.Cloud.StorageInsights.V1-1.4. 0,Google.Cloud.Support.V2-1.4. 0,Google.Cloud.Video.LiveStream.V1-1.9. 0

• microsoft/WindowsAppSDK

• v1.6.8

文章、幻灯片等

[C#] 你知道这个吗? 9 选 [TIPS for beginners ~ intermediates]

使用 Pencils 小部件在 Rider 中的高亮、Code Vision 和其他设置之间快速切换

C# 编程 - . .NET 面向对象的 × SOLID 实用指南替换 .NET 9 单元测试项目中的 DbContextEntity Framework Core 迁移安全运行的设计和独创性

Rider 2025.2 抢先体验计划现已上线! | .NET 工具博客

ReSharper 和 .NET Tools 2025.2 的抢先体验计划已经开始! | .NET 工具博客

Workleap 如何使用 .NET Aspire 实现本地开发转型评估 .NET AI 应用程序中的内容安全性 - .NET 博客为什么实体框架本身会变得很重,以及如何应对使用新的 AI 模板创建关于网站的聊天机器人

如何分发带有运行时捆绑包(自包含)的 Windows 应用程序 SDK(未打包)及其文件大小示例

[C#, 验证] 寻找高速回文判断处理。.NET 中的高性能字符串格式化在 Strawberry Shake 中利用片段如何使用 Cursor 调试 C#

【语义内核】尝试用 Slack 的数据访问 API 将私有频道的信息参考给内部的 AI 助手

C#: 常用的二进制作 API慢慢地将 OWIN 迁移到 ASP.NET Core

Sep 0.10.0 - 在 AMD 9950X 🚀 上使用 SIMD 进行 21 GB/s CSV 解析

.NET 的亚毫秒级 GC?!

• VSadov/Satori:试验 dotnet 运行时

正式发布的 Semantic Kernel Agent Framework!

相信大家在开发中经常会遇到一些性能问题,苦于没有有效的工具去发现性能瓶颈,或者是发现瓶颈以后不知道该如何优化。之前一直有读者朋友询问有没有技术交流群,但是由于各种原因一直都没创建,现在很高兴的在这里宣布,我创建了一个专门交流.NET性能优化经验的群组,主题包括但不限于:

• 如何找到.NET性能瓶颈,如使用APM、dotnet tools等工具

• .NET框架底层原理的实现,如垃圾回收器、JIT等等

• 如何编写高性能的.NET代码,哪些地方存在性能陷阱

希望能有更多志同道合朋友加入,分享一些工作中遇到的.NET问题和宝贵的分析优化经验。目前一群已满,现在开放二群。可以加我vx,我拉你进群: ls1075 另外也创建了QQ Group: 687779078,欢迎大家加入。

来源:opendotnet

相关推荐