分类: c#

120 篇文章

AI 自动化浏览器操作方案
1. 项目背景与设计目标 背景:需要对大批量目标网址进行自动化操作(如提取邮箱/填写表单)。由于各网站 DOM 结构与交互逻辑差异极大,传统基于固定 CSS/XPath 的脚本无法统一兼容,需引入 AI Agent 动态决策。 核心目标: 零 API 成本与高隐私:利用本地 RTX 3060 (12GB) 运行轻量模型,实现完全本地化的推理与执行。…
客户端设置变动与业务服务配置的动态桥接方案
1. 方案概述 在客户端应用(如 Avalonia/MAUI)开发中,本方案旨在解决 “UI 层配置变更” 与 “业务层服务消费” 之间的解耦问题。 现状与约束:业务层 Service 采用 .NET 标准的 IOptionsMonitor<ServiceOpts> 机制消费配置,且不应直接依赖 UI 层的具体设置类(以保持单向依赖和高…
.NET 向量存储、查询及实例
使用说明 依赖包引入 // 核心抽象包(定义数据模型、特性、接口等) // NuGet: Microsoft.Extensions.VectorData.Abstractions using Microsoft.Extensions.VectorData; // 具体数据库驱动包(根据业务选用,例如 Qdrant) // NuGet: Micros…
Microsoft Agent Framework 调用
手册 https://learn.microsoft.com/zh-cn/agent-framework/workflows/as-agents?pivots=programming-language-csharp 一些开发流程中的基本概念 https://learn.microsoft.com/zh-cn/agent-framework/jour…
.net 项目的 skills 工具
dotnet-skills https://github.com/managedcode/dotnet-skills/ dotnet-skills 是一个专为.NET开发的技能目录和CLI工具,旨在为AI agents(如GitHub Copilot、Claude Code、Gemini等)提供准确的.NET知识,避免过时的模式或错误指导。它包含6…
c# 使用源生成进行序列化
在进行多平台发布时,经常需要进行剪裁,而基于反射进行的序列化/反序列化的类型会被剪裁掉,所以需要使用源生成进行序列化会很安全。原理与对象映射一样,对象映射工具 Mapperly 下面为基于 System.Text.Json 的源生成进行序列化的例子:如何在 System.Text.Json 中使用源生成 说明 创建一个需要序列化/反序列化的类 pu…
安装多个版本 Xcode 并切换
.net 应用在编译时可能需要指定版本的 xcode, 而且往往不支持最新的 xcode 版本, 这时可以从苹果官网下载不同版本的 xcode 的 xip 文件, 解压缩至到 Xcode.app (可重命名加上版本号), 复制到 /Applications 中,并通过 xcode-select 指定版本。 可以使用三方工具 xcodes 或是手工下…
Avalonia 自适应 Android 输入法高度
根据 AI 建议,最简便的方案是在 MainActivity.cs 或是 AndroidManifest.xml 中指定 android:windowSoftInputMode="adjustResize|stateHidden" 然后 android 系统会在打开输入法时建议将应用高度配置为屏幕高度 - 输入法面板高度。 也可…
使用 Yarp.ReverseProxy 动态转发 ai 调用请求至三方服务
对上个方案进行改进,通过提交参数指定不同的服务商 使用 Yarp.ReverseProxy 转发 ai 调用请求至硅基流动 // // iox namespace GeneralAPI.ApiService.Components.AiServices; using System.Net.Http.Headers; using Microsoft.A…
avalonia 手机连接 Developer Tools
avalonia 手机端连接 Developer Tools 需要完整授权,社区版授权不支持该功能。下面以 android 为例说一下操作步骤 相关手册:https://docs.avaloniaui.net/accelerate/tools/dev-tools/getting-started 连接手机:https://docs.avaloniau…