C# .NET 周刊 2026 年 6 月 4 期 2026-06-28 dotnet_week_26_6_4国内文章用 OllamaHub 让 Visual Studio Copilot 可以对接任意模型https://www.cnblogs.com/lindexi/p/20687205文章介绍开源项目 OllamaHub(https://github.com/mingkuang-Chuyu/OllamaHub)建议为账号安全自行部署。项目为纯 C#无需 Ollama 依赖模拟 Ollama 协议以连接 Visual Studio Copilot 与第三方模型。拉取后可用 dotnet run 启动但需先更新 Visual Studio(含 .NET 10)。在输出目录 bin\Debug\net10.0 新建 settings.json 并填写示例配置示例演示如何添加兼容 OpenAI 的 providers 与 models(示例为 DeepSeek)并提示替换为自己的 API Key。文章还推荐 DeepSeek 的性价比和易用性。一行代码抓遍全网 20 个热榜Aneiang.Pa 4.0 发布 — 极简 .NET 爬虫库https://www.cnblogs.com/cacocode/p/20720777本文介绍 Aneiang.Pa 4.0一个面向抓取平台热榜的 .NET 库。它支持一行启动 Pa.Source(“WeiBo”).GetAsync() 并返回结构化数据。库内置 20 个平台支持强类型映射、HttpClient 管理、UA 轮换、指数退避重试、内存缓存、熔断、结构化日志、Prometheus 指标与 OpenTelemetry。新增平台只需编写一份 YAML 即可扩展。文中提供示例代码与平台列表目标是避免重复编写爬虫提高开发效率。C#/.NET/.NET Core 优秀项目和框架 2026 年 5 月简报https://www.cnblogs.com/Can-daydayup/p/20698093本文为每月 C#/.NET 精选项目汇总推文包含项目功能、使用方法、截图与源码链接。推荐项目包括 Winhance(Windows 系统增强)、FluentAvalonia(基于 Fluent 的 Avalonia 控件库)、CommunityToolkit.Mvvm(微软维护的 MVVM 工具包)、Prism(XAML 应用框架)、ReactiveUI(响应式 MVVM 框架)和 Caliburn.Micro 等。文章提供 GitHub/Gitee 源码地址及公众号获取详细介绍侧重实践工具推荐便于开发者快速查找与使用开源项目。使用 PublishAotClang 轻松交叉编译 Linux Native AOThttps://www.cnblogs.com/kewei/p/20887495文章介绍 PublishAotClang这是一个将 Zig 封装为 Clang 工具链的 NuGet 包帮助在 Windows 上把 .NET 项目 AOT 发布到多种 Linux RID。它内置 Zig 工具链无需安装或配置 PATH支持 strip 减小二进制体积并内置 zlib 静态库。用户可指定 glibc 版本以兼容旧系统。作者用 C# 重写 clang 包装器并新增 ar 包装器解决跨操作系统与跨架构链接问题。该工具只影响链接阶段不改变 IL→ 目标文件的编译流程生成的 ELF 与原生编译性能相同。项目在 GitHub 上公开。C# ?? 链式回退编写优雅的多级兜底逻辑https://www.cnblogs.com/shanyou/p/20854707文章介绍 C# 的 ?? 空合并运算符及其链式用法说明编译器右结合和短路求值。以 OpenClaw.NET 的 AdminEndpoints.cs 实例拆解三级回退链。优先使用 runtime.Operations.ModelProfiles as ConfiguredModelProfileRegistry其次复用已解析的 modelProfiles as ConfiguredModelProfileRegistry最后以 ConfiguredModelProfileRegistry.CreateInitialized(startup.Config) 兜底。作者强调复用实例可避免重复调用 CreateInitialized从而防止为每个模型重复创建 IChatClient、浪费内存和产生资源泄漏。示例清晰实践性强强调用 as 与链式 ?? 实现高效、安全的回退逻辑。Claude Code Dynamic Workflows vs OpenClaw.NET MetaSKILLhttps://www.cnblogs.com/shanyou/p/20876713本文比较两种编排范式Claude Code Dynamic Workflows 用可执行 JavaScript 在会话内驱动多 Agent 协作提供 agent(), pipeline(), parallel(), phase(), 实时日志、预算感知与 worktree 隔离。OpenClaw.NET MetaSKILL 采用 YAML 声明式 DAG由 .NET 运行时在 Gateway 进程调度支持 fan_out 并发、依赖声明与模板化指令。设计分为“代码即编排”与“声明即编排”。运行环境分别为 Node.js 沙箱与 OpenClaw.NET 服务器。触发方式包含 /workflow、工具触发和 meta_invoke。总结清晰对比实现细节与适用场景。将 Rust 绑定到 .NET 10Oxigraph 的 FFI 桥接实践https://www.cnblogs.com/shanyou/p/20884135文章说明如何通过 FFI 将 Rust 编写的高性能图数据库 Oxigraph 绑定到 .NET 10覆盖工具链设计、数据协议、内存管理、回调机制与构建流水线。文中给出架构图明确 .NET 应用层、Interop 层与 Rust cdylib 的职责分工。列举 ffi.rs、stream_ffi.rs、error.rs、model_ffi.rs 等模块说明 Store CRUD、SPARQL、流式 I/O、懒查询迭代器、分块批量加载、查询结果序列化和自定义函数实现。实现基于 P/Invoke 的 JSON 协议并使用 SafeHandle 与回调封装托管互操作。技术深度和实用性强但缺少引用且部分文本含 HTML 转义影响可读性。C# 解析 Word 超链接字段识别、屏幕提示读取https://www.cnblogs.com/jazz-z/p/20721494本文面向.NET 开发者基于 Free Spire.Doc 介绍从 Word 提取超链接的轻量实现。文章列出加载文档、遍历节和段落、识别 Field 并筛选 FieldHyperlink 的基本流程。文中给出完整 C# 示例代码并说明如何通过 NuGet 安装与引用命名空间。文章提示免费版页数限制但末尾关于屏幕提示的说明被截断未详述字段代码解析和异常处理等进阶细节。整体实用且易上手但在技术深度、扩展性和引用方面仍有提升空间。[MAF 预定义的 AIContextProvider-04]Mem0Provider——长期记忆基于的云端解决方案https://www.cnblogs.com/artech/p/20687121/ai-context-provider-04本文介绍用 Mem0Provider 为 Agent 实现长期记忆。作者对比了基于向量库的 ChatHistoryMemoryProvider 与 Mem0 和 Azure Foundry 的预定义 Provider。Mem0 采用向量与图谱混合架构支持跨会话记忆并提供试用 API-Key。作者因 NuGet 未发布从 GitHub 获取实现并提醒未来包发布后 API 可能变化。示例展示通过 HttpClient 连接 https://api.mem0.ai并在 Authorization 头加入 Token 类型的 MEM0_API_KEY 来创建 Mem0Provider。作者在点餐 Agent 中用 Mem0 替换 ChatHistoryMemoryProvider 以保存用户偏好。文章实用且及时但技术深度和引用不足。Roslyn 语法的模式匹配之 EasySyntax 增加模式匹配支持https://www.cnblogs.com/xiangji/p/20691808文章以一行检测回文的 C#模式匹配示例开场展示逻辑、列表、var 和切片等多种模式。作者列出十二种模式类型并说明 is、switch 语句与 switch 表达式支持模式匹配。文章演示了使用 EasySyntax 扩展和 Roslyn SyntaxFactory 生成类型模式的实现强调 SourceGenerator 需支持模式匹配并介绍 EasySyntax 已扩展相关支持。示例具体且面向实用但部分段落不完整引用了一条微软文档链接。HagiCode 是怎么把 13 个 Agent CLI 接到一套系统里的https://www.cnblogs.com/newbe36524/p/20711739HagiCode 通过分层架构把多种风格的 Agent CLI 统一管理。它以 AIProviderType 枚举作为每个 CLI 的身份证并用 ToStringValue()/ToAIProviderType() 做互转。业务层只依赖 IAIProvider/IAIProviderFactory 接口屏蔽底层实现细节。适配器层负责各 CLI 的协议差异工厂中显式抛出 NotSupportedException 屏蔽已废弃的 IFlowCli最终系统实际支持 13 个 provider(如 Claude、Codex、Copilot、Gemini 等)。该设计旨在消除业务代码中的大量 if 分支便于接入新 CLI。文章缺少完整实现细节和引用。【EF Core】级联删除行为https://www.cnblogs.com/tcjiaan/p/20875517文章介绍 Microsoft.EntityFrameworkCore.DeleteBehavior 枚举。说明该枚举控制当被依赖实体被删除时从实体中外键的处理方式。枚举分两组以 Client 开头的由 EF Core 在客户端处理级联删除适用于数据库只建表不定义关系的情况非 Client 成员在数据库层定义外键约束常见于 Code First 或 DB First。作者偏好把删除逻辑放在程序端并以 SQL Server 给出建表示例(示例未完)。文中夹杂 AI 生成代码和 C 语言内存错误的经验教训提醒勿盲目信任生成代码。Slickflow.MCP-Server-工作流引擎接入 AI 编排平台实践https://www.cnblogs.com/slickflow/p/20772623本文介绍将 Slickflow 工作流引擎封装为基于 .NET 8 的 MCP Server支持 Dify、Coze、n8n、Claude 等 AI 编排平台通过 Model Context Protocol 调用。服务基于 ModelContextProtocol.AspNetCore v0.3.0-preview.2运行在 5100 端口提供 14 个工具(12 个 WorkflowTools 和 2 个 KnowledgeBaseTools)。架构中 Slickflow 使用 PostgreSQL 存储向量检索采用 PgVector 和 text-embedding-v4/1536d 嵌入。通过 MCPAI Agent 可自主启动和推进流程、查询状态并联动知识库避免为每个 LLM 平台重复适配。文章列出主要工具接口及典型参数但部分实现细节未完全展开。国际周报话题智能终端 0.1.1 来了支持 bash新增斜杠命令以及更多自定义功能——Windows 命令 线路https://devblogs.microsoft.com/commandline/intelligent-terminal-0-1-1-is-here-bash-support-new-slash-commands-and-customization/GitHub Actions 检查更安全的 pull_request_target 默认值 - GitHub 更新日志https://github.blog/changelog/2026-06-18-safer-pull_request_target-defaults-for-github-actions-checkout/精选Kaigi 2026 in C# 招标(讨论)现已开放https://fortee.jp/csharpkaigi-2026/speaker/proposal/cfp我们现正接受C# Kaigi 2026的提案征集(CfP)该活动将于 2026 年 9 月 19 日星期六在台场的 docomo RD OPEN LAB 举行。 直到 2026 年 7 月 5 日星期日。发布AvaloniaUI/Avalonia2018 年 3 月 11 日12.0.5aws/aws-sdk-net4.0.273.04.0.274.04.0.275。 0 4.0.275.1 4.0.276.0Azure/azure-sdk-for-netAzure.Communication.CallAutomation_1.6.0 Azure.Data.AppConfiguration_1.10.0 Azure.ResourceManager.Compute.BulkActions_1.0.0 Azure.ResourceManager.ComputeLimit_1.2.0 Azure.ResourceManager.Network_1.16.0 Azure.ResourceManager.Qumulo_1.3. 0 Azure.Storage.Blobs_12.29。 1Azure.Storage.Files.DataLake_12.27。 1Azure.Storage.Files.Shares_12.27。 1Azure.Storage.Queues_12.27。 1DataDog/dd-trace-dotnetv3.47.0domaindrivendev/Swashbuckle.AspNetCorev10.2.2 v10.2.3dotnet/maui10.0.80dotnet/Orleansv10.2.1dotnet/反应式rxnet-v7.0.0-rc.1dotnet/SqlClientv7.0.2googleapis/google-cloud-dotnetGoogle.Cloud.Dataproc.V1-5.27.0 Google.Cloud.Dialogflow.V2-4.30。 0 Google.Cloud.NetworkManagement.V1-2.20. 0 Google.Cloud.NetworkServices.V1-1.6. 0 Google.Cloud.OracleDatabase.V1-1.7. 0 Google.Cloud.Tools.SecretManagerHelper-0.1. 0微软/Aspirev13.4.6- microsoft/CsWin32v0.3.298mysql-net/MySqlConnector2.6.1newrelic/newrelic-dotnet-agentv10.52.0开放遥测/开放遥测点网贡献Instrumentation.AWS-1.16.0 Instrumentation.Http-1.16. 0 Instrumentation.SqlClient-1.16. 0spectreconsole/spectre.console0.57.1StackExchange/StackExchange.Redis3.0.7文物、幻灯片等新台词不仅仅是\r 和\n——杰拉尔·巴雷https://www.meziantou.net/new-lines-are-more-than-r-and-n.htmAvalonia UI 菜单中的多项选择题 - Qitahttps://qiita.com/mifumi323/items/d74129f020a2ee0269e8用 DuckDB 在 C# 中分析了 1.3GB 的 CSV 大约快了 12 倍https://zenn.dev/sitio1/articles/f844f855425e72在每个显示器的 DPI 环境中恢复窗口位置 - Qiitahttps://qiita.com/Cladophlebis/items/b5cf1d3f2ac894fe381f用 .NET 10 替代 Electron编写一个零延迟、SIMD 加速的集成开发环境https://dev.to/iancowley/replacing-electron-with-net-10-writing-a-zero-latency-simd-accelerated-ide-322j为什么 WinForms 的一位工程师在设计 Blazor 网页应用时毫不犹豫https://zenn.dev/jodycraft/articles/eac2865d54b0d4把 ASP.NET 核心放进 IIS 后我得到了 500——一组三点的 AppPool 专用、SQL 权限和数据保护https://zenn.dev/harness/articles/iis-aspnet-core-apppool-data-protection避免使用 StringBuilder.MoveChunk 进行 ToString() 分配探索 .NET 11 预览版 - 部分 3https://andrewlock.net/exploring-the-dotnet-11-preview-3-avoiding-tostring-allocations-with-stringbuilder-movechunks/ASP.NET 在核心身份中设置锁定结束 Left Cookies - Qiitahttps://qiita.com/harnesswinner/items/1bee38e9cabc8a56e82f尝试使用带有本地 LLM 的 Microsoft 代理框架 第 15 部分(持久代理)https://zenn.dev/yy7613/articles/1f01f64055a699neue cc - C# Kaigi 2026 主题演讲 而且… NET for Android 和 Vibe 编码https://neue.cc/2026/06/24_superdotnetnew.html你的 AI 代理总是错过真正的瓶颈。 JetBrains 骑手现在可以修好了。 - JetBrains 博客https://blog.jetbrains.com/dotnet/2026/06/25/performance-profiling-agent-skill-in-rider/我用纯 C#做了一个可插入式的 Ollama 替代品——没有 llama.cpp没有本地双人组只有 ILGPU 核https://dev.to/lostbeard/i-built-a-drop-in-ollama-replacement-in-pure-c-no-llamacpp-no-native-binaries-just-ilgpu-37o1使用 .NET Native AOT 创建原生库https://zenn.dev/asus4/articles/b65b2821f5dcf8Microsoft 代理框架中的代理技能介绍——从 C# 学习实现模式示例https://zenn.dev/normalian/articles/agentframework-agentskill-01不要让 Microsoft 全包https://www.boxofcables.dev/dont-ask-microsoft-to-do-it-all/点莫滕 | 基于文件的 WinUI 应用配合 Microsoft.UI.Reactorhttps://xaml.dev/post/file-based-winui-apps-with-microsoft-ui-reactor近期源生成器开发 - Qiitahttps://qiita.com/ikuzak/items/46fecf3136c53ff4da9cC# 与 C 互操作性 - cho-dotnetnewhttps://speakerdeck.com/harukasao/c-number-and-c-plus-plus-interoperability-cho-dotnetnew库、仓库、工具等GaTTGeng/HelmSharp管理型 Helm 兼容图表渲染和 Kubernetes 发布的.NET 工作流。https://github.com/GaTTGeng/HelmSharpHelmSharp无需付费使用 Helm 即可从 .NET 渲染 Helm 图表今日人物艾伦·凯(英语Alan Curtis Kay1940 年 5 月 17 日—)美国计算机科学家、面向对象编程与个人计算先驱。他领导开发 Smalltalk推动图形用户界面、Dynabook 概念和以儿童为中心的计算机教育对现代个人计算产生了深远影响。2003 年凯因“开创现代面向对象编程语言的多项基础思想领导 Smalltalk 开发并对个人计算作出根本性贡献”获得图灵奖。