后端即时通讯金融科技【免费下载链接】WeiXinMPSDK微信全平台 .NET SDK Senparc.Weixin for C#支持 .NET Framework 及 .NET Core、.NET 10.0。已支持微信公众号、小程序、小游戏、微信支付、企业微信/企业号、开放平台、JSSDK、微信周边等全平台。 WeChat SDK for C#.项目地址https://gitcode.com/gh_mirrors/we/WeiXinMPSDK点击查看免费下载本文基于开源仓库 WeiXinMPSDK微信全平台 .NET SDK的官方安装文档整理而成系统讲解企业微信模块Senparc.Weixin.Work的两种接入方式——直接引用源码与通过 NuGet 包引用并结合仓库内真实示例工程Samples/Work/Senparc.Weixin.Sample.Work与源码工程src/Senparc.Weixin.Work给出可验证的操作细节。读完本文你将能独立完成Senparc.Weixin.Work在你自己的 .NET 项目中的安装、依赖梳理、安装结果校验并顺带掌握安装之后的最小化注册配置为后续消息处理、OAuth2.0 登录、JSSDK 等企业微信功能开发打好基础。一、安装方式总览源码引用与 NuGet 包只能二选一Senparc.Weixin.Work的安装方式有且仅有两条路径直接引用 Senparc.Weixin 源码将仓库src目录下的对应工程以ProjectReference方式引入到你的解决方案引用已打包完成的 dllNuGet 包官方推荐通过Visual Studio、Visual Studio Code或dotnet 命令行安装方便随时获取官方更新。特别注意事项官方原文强调直接引用源码和引用 NuGet 包只能二选一二者不可混用否则会出现程序集重复、版本冲突等编译期或运行期问题。需要说明的是仓库当前示例工程默认采用NuGet 包引用方式详见下文源码证据而安装文档中展示的ProjectReference示例代表源码引用写法两者在.csproj中的形态截然不同后续分别说明。二、方式一直接引用源码ProjectReference2.1 操作思路在当前解决方案中从仓库的src目录下将所需引用的程序集工程即.csproj工程文件引用复制到你的开发环境解决方案中。请注意需要同时引用被依赖的项目——Senparc.Weixin是所有项目都必须依赖的基础工程因为它承载了全局配置、缓存、注册服务等基础设施。以仓库实际布局为例企业微信接入通常需要以下三个源码工程src/Senparc.Weixin/Senparc.Weixin所有模块的公共基础库src/Senparc.Weixin.Work/Senparc.Weixin.Work企业微信核心模块消息处理、通讯录、API 封装等src/Senparc.Weixin.AspNet 与 src/Senparc.Weixin.Work.Middleware提供 ASP.NET Core 下的注册、启用与 MessageHandler 中间件能力按需引入。2.2 源码引用在 .csproj 中的写法官方安装文档给出的ProjectReference示例代码如下注意文档原例中的net6.csproj指向早期多目标框架版本当前仓库已同步更新为 net8/net10 版本ItemGroup ProjectReference Include...\src\Senparc.Weixin.AspNet\Senparc.Weixin.AspNet.net6.csproj / ProjectReference Include...\src\Senparc.Weixin.Work.Middleware\Senparc.Weixin.Work.Middleware.net6.csproj / ProjectReference Include...\src\Senparc.Weixin.Work\Senparc.Weixin.Work\Senparc.Weixin.Work.net6.csproj / /ItemGroup2.3 仓库内的真实源码证据仓库示例工程 Samples/Work/Senparc.Weixin.Sample.Work/Senparc.Weixin.Sample.Work.csproj 中同时保留了两种写法的对照当前启用的 NuGet 写法ItemGroup中的PackageReference被注释掉的源码引用写法!--直接引用源码--块内的ProjectReference其路径以..\..\..\src\开头指向仓库源码工程例如ItemGroup ProjectReference Include..\..\..\src\Senparc.Weixin.AspNet\Senparc.Weixin.AspNet.net8.csproj / ProjectReference Include..\..\..\src\Senparc.Weixin.Work.Middleware\Senparc.Weixin.Work.Middleware.net8.csproj / ProjectReference Include..\..\..\src\Senparc.Weixin.Work\Senparc.Weixin.Work\Senparc.Weixin.Work.net8.csproj / /ItemGroup若你选择源码引用只需把这段ProjectReference替换到你自己工程的.csproj中并将相对路径调整为指向你本地克隆的仓库目录即可。同时注意Senparc.Weixin基础库会被Senparc.Weixin.Work等工程通过ProjectReference自动带入见 src/Senparc.Weixin.Work/Senparc.Weixin.Work/Senparc.Weixin.Work.net10.csproj因此通常无需手动逐一引用全部依赖。源码引用方式的优势在于可以随时阅读、调试 SDK 内部实现甚至按需修改后即时生效代价是需要自行跟踪上游更新仓库源码的详细位置与同步地址可参考官方文档 docs/en/guide/work/source-code.md。三、方式二NuGet 包引用官方推荐NuGet 包引用是最省力、最推荐的接入方式可以自动处理依赖关系并随时升级获取官方更新。官方支持三种主流安装渠道。3.1 通过 Visual Studio 安装在开发项目的【解决方案资源管理器】中对需要添加Senparc.Weixin.Work的模块项目点击右键选择【管理 NuGet 程序包】在【浏览】标签中输入Senparc.Weixin.Work选中结果后点击右侧【安装】按钮。3.2 通过 Visual Studio Code 安装前置条件已安装 VS Code 以及 dotnet 命令行安装 .NET SDK 后会自动附带。操作步骤打开解决方案或项目所在目录按Ctrl~打开终端面板切换到需要添加Senparc.Weixin.Work模块的项目目录输入以下命令并回车dotnet add package Senparc.Weixin.Work3.3 通过 dotnet 命令行安装前置条件已安装 dotnet 命令行安装 .NET SDK 后自动附带。在需要添加该模块的项目目录下直接执行dotnet add package Senparc.Weixin.Work说明dotnet add package是 .NET 官方内置命令适用于 .NET Core / .NET 5 及以上项目仓库示例工程中的 net8、net10 示例均可用该命令完成安装。3.4 安装结果校验查看 .csproj 文件无论通过哪种渠道安装完成后打开项目对应的.csproj文件都应能看到新增的PackageReference节点例如官方文档展示的形态ItemGroup PackageReference IncludeSenparc.Weixin.Work Version3.14.10 / /ItemGroup仓库当前示例工程的真实引用Samples/Work/Senparc.Weixin.Sample.Work/Senparc.Weixin.Sample.Work.net8.csproj如下可以看到企业微信实战项目通常还需要两个配套包ItemGroup PackageReference IncludeSenparc.Weixin.AspNet Version1.6.4 / PackageReference IncludeSenparc.Weixin.Work Version3.32.0 / PackageReference IncludeSenparc.Weixin.Work.Middleware Version1.5.3 / /ItemGroup其中Senparc.Weixin.AspNet提供 ASP.NET Core 场景下的注册/启用扩展方法Senparc.Weixin.Work.Middleware提供无需编写 Controller 的 MessageHandler 中间件能力示例用法见后文。3.5 版本与多目标框架说明仓库源码依据当前仓库中Senparc.Weixin.Work源码工程版本为3.32.2见 src/Senparc.Weixin.Work/Senparc.Weixin.Work/Senparc.Weixin.Work.net10.csproj多目标框架为net462;netstandard2.0;netstandard2.1;netcoreapp3.1;net10.0即同时兼容 .NET Framework 4.6.2、.NET Standard 2.0/2.1、.NET Core 3.1 与 .NET 10.0示例工程当前引用版本为3.32.0net8/net10 两个 csproj 一致安装时 NuGet 会自动选择与你的TargetFramework匹配的目标版本无需手工干预。四、安装之后的最小化注册配置以示例工程为参照安装只是第一步要让企业微信功能真正跑起来还需要完成注册与配置。仓库示例工程 Samples/Work/Senparc.Weixin.Sample.Work/Program.cs 展示了标准流程可作为安装后的“开箱验证”模板完整说明参见 docs/en/guide/work/register.mdvar builder WebApplication.CreateBuilder(args); builder.Services.AddControllersWithViews(); // 使用内存缓存必须添加Senparc.Weixin 支持本地缓存、Redis、Memcached 等多种缓存策略默认本地缓存 builder.Services.AddMemoryCache(); // Senparc.Weixin 注册必须一行代码 builder.Services.AddSenparcWeixin(builder.Configuration); var app builder.Build(); // 启用微信配置必须一句代码 var registerService app.UseSenparcWeixin(app.Environment, null, null, register { }, (register, weixinSetting) { // 注册企业微信账号信息可执行多次注册多个账号 register.RegisterWorkAccount(weixinSetting, 【盛派网络】企业微信); });4.1 RegisterWorkAccount 的底层实现RegisterWorkAccount定义在源码 src/Senparc.Weixin.Work/Senparc.Weixin.Work/Register.cs包含两个重载RegisterWorkAccount(this IRegisterService registerService, string weixinCorpId, string weixinCorpSecret, string name null)底层调用AccessTokenContainer.Register(weixinCorpId, weixinCorpSecret, name)完成企业微信 AccessToken 凭据容器的注册RegisterWorkAccount(this IRegisterService registerService, Weixin.Entities.ISenparcWeixinSettingForWork weixinSettingForWork, string name null)从weixinSettingForWork通常来自appsettings.json自动读取WeixinCorpId、WeixinCorpSecret等配置并完成注册name 缺省时取ItemKey。4.2 appsettings.json 中的企业微信配置项示例工程的配置模板位于 Samples/Work/Senparc.Weixin.Sample.Work/appsettings.json企业微信部分核心字段如下SenparcWeixinSetting: { // 微信全局 IsDebug: true, // 企业微信以下不使用的参数可以删除key 修改后将会失效 WeixinCorpId: #{WeixinCorpId}#, WeixinCorpAgentId: #{WeixinCorpAgentId}#, WeixinCorpSecret: #{WeixinCorpSecret}#, WeixinCorpToken: #{WeixinCorpToken}#, WeixinCorpEncodingAESKey: #{WeixinCorpEncodingAESKey}# }各参数含义官方文档原文说明配置项含义WeixinCorpId每个企业微信账号唯一的corpIdWeixinCorpAgentId/WeixinCorpSecret对应每个不同应用的agentId与secretWeixinCorpToken/WeixinCorpEncodingAESKey对应当前应用消息接收接口后台配置的 Token 与 EncodingAESKey注意事项官方强调所有字符串值都可能被用于字典索引因此请勿留空字符串但可以根据需要删除对应的整条设置key修改后自动识别将失效。如需注册多个企业微信应用可在Items节点下追加例如示例中的“企业微信审批”“企业微信OAuth2.0”两个条目。注册完成后可通过Senparc.Weixin.Config.SenparcWeixinSetting获取自动注册信息。4.3 可选进阶使用 MessageHandler 中间件无需 Controller示例工程还演示了Senparc.Weixin.Work.Middleware的用法——通过app.UseMessageHandlerForWork(/WorkAsync, ...)直接挂载消息处理器中间件省去 Controller 编写app.UseMessageHandlerForWork(/WorkAsync, WorkCustomMessageHandler.GenerateMessageHandler, options { var weixinSetting Senparc.Weixin.Config.SenparcWeixinSetting; options.AccountSettingFunc context weixinSetting; // [必填] 指定微信配置 var appKey AccessTokenContainer.BuildingKey(weixinSetting.WorkSetting); options.TextResponseLimitOptions new TextResponseLimitOptions(2048, appKey); // [可选] 超长文本自动切割 });消息处理器的完整实现方式可进一步阅读 docs/en/guide/work/messagehandler.md。五、安装常见问题与注意事项汇总源码与 NuGet 只能二选一混用会导致程序集重复引用或版本冲突源码引用必须带上依赖工程Senparc.Weixin是所有模块的公共依赖Senparc.Weixin.AspNet与Senparc.Weixin.Work.Middleware在 ASP.NET Core 场景下通常一并需要NuGet 版本选择NuGet 会自动按项目TargetFramework选择兼容目标net462 / netstandard2.0 / netstandard2.1 / netcoreapp3.1 / net10.0无需手动指定安装后需完成注册才能调用 API至少包含AddMemoryCache()或你选定的缓存策略、AddSenparcWeixin(configuration)、app.UseSenparcWeixin(...)三件事并在委托内调用RegisterWorkAccount注册企业微信账号配置项不可留空字符串SenparcWeixinSetting中的字符串值可能被用作字典索引留空会引发运行时异常。六、进一步学习路径企业微信注册指南全局注册与企业微信账号注册的完整说明源码获取方式SDK 源码位置与 NuGet 包地址消息处理器MessageHandler企业微信消息与事件的接收处理OAuth2.0 登录企业微信网页授权登录JSSDK 配置 与 JSSDK Agent 配置企业微信内网页 JS-SDK 接入菜单设置 与 高级接口应用菜单与企业微信高级 API 使用。以上文档均位于仓库docs/en/guide/work/目录下中文对照版本见docs/zh/guide/work/如 docs/zh/guide/work/install.md可以按需交叉查阅。赞分享后端即时通讯金融科技【免费下载链接】WeiXinMPSDK微信全平台 .NET SDK Senparc.Weixin for C#支持 .NET Framework 及 .NET Core、.NET 10.0。已支持微信公众号、小程序、小游戏、微信支付、企业微信/企业号、开放平台、JSSDK、微信周边等全平台。 WeChat SDK for C#.项目地址https://gitcode.com/gh_mirrors/we/WeiXinMPSDK点击查看免费下载相关推荐WeiXinMPSDK 企业微信模块Senparc.Weixin.Work安装指南源码引用与 NuGet 包二选一WeiXinMPSDK 企业微信模块Senparc.Weixin.Work安装指南源码引用与 NuGet 包二选一 本篇技术指南基于 WeiXinMPSD后端即时通讯金融科技深入解析 uutils coreutils sum 的基准测试从大文件准备到 Hyperfine 对比深入解析 uutils coreutils sum 的基准测试从大文件准备到 Hyperfine 对比 本篇技术指南聚焦于跨平台 Rust 重写项目 uuti后端即时通讯金融科技WeiXinMPSDK 微信支付模块安装指南通过 NuGet 与源码引用为 C 项目引入 Senparc.Weixin.TenPayWeiXinMPSDK 微信支付模块安装指南通过 NuGet 与源码引用为 C 项目引入 Senparc.Weixin.TenPay 本篇技术指南以 WeiX后端即时通讯金融科技上一篇SynSin终极指南如何用单张图片生成全新视角 下一篇【亲测免费】 Diablo II Resurrected 自动化辅助工具 Botty 的安装与配置指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
