ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

Senparc.Weixin.MP 微信公众号 SDK 安装指南:源码引用与 NuGet 包两种方式详解

Senparc.Weixin.MP 微信公众号 SDK 安装指南:源码引用与 NuGet 包两种方式详解 后端即时通讯金融科技【免费下载链接】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 仓库中的官方安装文档 docs/zh/guide/mp/install.md 展开系统讲解在 .NET 项目中接入微信公众号 SDKSenparc.Weixin.MP的两种方式直接引用源码与引用 NuGet 程序包推荐。读完本文你将掌握通过 Visual Studio、Visual Studio Code、dotnet CLI 三种环境完成安装的完整操作理解源码引用时被依赖项目的传递关系并能结合仓库内真实 Sample 完成安装后的参数配置与账号注册让项目立刻具备调用微信公众平台接口的能力。安装方式总览两种方式只能二选一官方文档首先给出一个重要原则直接引用源码和引用 NuGet 包只能二选一不要混用否则可能出现同一类型在多个程序集中重复定义、版本冲突等问题。直接引用源码将仓库src目录下的 SDK 项目以ProjectReference方式加入你的解决方案源码随项目一起编译。优点是调试时可以进入 SDK 内部代码逐行跟踪适合学习原理或深度定制。引用程序集NuGet 包通过包管理器安装已经打包好的 dll方便随时获取官方更新是官方推荐的方式适合绝大多数业务开发场景。两种方式在后续的注册、配置与接口调用上完全一致选择其中一种后即可进入 公众号注册流程。方式一直接引用源码官方文档中提到可以在解决方案的Libraries目录下找到需要引用的程序集并复制到开发环境中。在当前仓库中SDK 全部源码位于 src/ 目录其中与公众号相关的核心项目包括项目目录说明依赖关系src/Senparc.Weixin所有 Senparc.Weixin 模块共用的基础库Senparc.Weixin.dll所有项目都必须引用src/Senparc.Weixin.MP微信公众号 / 公众号 JSSDK 等模块Senparc.Weixin.MP.dll依赖Senparc.Weixinsrc/Senparc.Weixin.MP.Middleware公众号消息处理中间件按需依赖Senparc.Weixin.MPsrc/Senparc.Weixin.MP.MvcExtensionMVC 项目扩展包按需依赖Senparc.Weixin.MPsrc/Senparc.Weixin.AspNet专为 Web 提供支撑的类库按需依赖Senparc.Weixin官方文档中提到的“Libraries 目录”在当前仓库即 src/ 目录各模块独立成文件夹。引用时请注意同时带上被依赖的项目例如只引用Senparc.Weixin.MP而不引用Senparc.Weixin编译将无法通过。官方文档给出了示例项目中的.csproj引用写法原文为net6项目文件命名当前仓库中对应版本文件为net8与net10ItemGroup ProjectReference Include..\..\..\src\Senparc.Weixin.MP.Middleware\Senparc.Weixin.MP.Middleware.net8.csproj / ProjectReference Include..\..\..\src\Senparc.Weixin.MP.MvcExtension\Senparc.Weixin.MP.MvcExtension\Senparc.Weixin.MP.MvcExtension.net8.csproj / ProjectReference Include..\..\..\src\Senparc.Weixin.MP\Senparc.Weixin.MP\Senparc.Weixin.MP.net8.csproj / /ItemGroup当前仓库中使用“源码引用”方式的典型示例是 Samples/All/net10-mvc 综合 Sample其项目文件 Senparc.Weixin.Sample.net10.csproj 通过ProjectReference引用了 Senparc.Weixin.Net10Sample.CommonService.csproj后者再逐级引用各模块源码项目。这与官方文档“当前示例项目默认就使用了直接引用源码的方式”的描述一致。源码引用方式的额外收益本地自动打包仓库根目录的 src/Directory.Build.props 以及各模块.csproj中配置了打包参数当以Release配置编译时会触发GeneratePackageOnBuild自动生成 NuGet 包到/src/BuildOutPut/目录见 Senparc.Weixin.MP.net10.csproj 中的OutputPath配置。这意味着即使不联网使用官方 NuGet也可以通过编译源码获得本地包方便私有化分发。方式二引用程序集推荐NuGet 包方式可通过 Visual Studio、Visual Studio Code、dotnet 命令行等多种方式自动安装。NuGet 包生态一览安装前先厘清相关包的作用避免多装或漏装包名说明典型用途Senparc.Weixin.MP微信公众号核心模块必装包含公众号全部 API、消息实体与 MessageHandlerSenparc.Weixin全模块基础库会被Senparc.Weixin.MP自动依赖引入无需手动安装Senparc.Weixin.AspNetASP.NET Core 支撑库Web 项目推荐安装提供UseSenparcWeixin等扩展Senparc.Weixin.MP.Middleware公众号消息中间件使用中间件方式承载 MessageHandler 时安装Senparc.Weixin.MP.MVC/Senparc.Weixin.MP.MvcExtensionMVC 扩展传统 MVC / .NET Framework 项目按需安装Senparc.Weixin.All全平台集成包需要同时使用公众号、小程序、企业微信、支付等多模块时可一次引用所有模块例如当前仓库的独立公众号示例 Senparc.Weixin.Sample.MP.csproj 就以 NuGet 方式引用了Senparc.Weixin.AspNet 1.6.4、Senparc.Weixin.MP 16.25.0、Senparc.Weixin.MP.Middleware 1.5.3、Senparc.Weixin.MP.MVC 7.17.3四个包。通过 Visual Studio 安装在开发项目的【解决方案资源管理器】中对需要添加Senparc.Weixin.MP的模块点击右键选择【管理 NuGet 程序包】在【浏览】标签中输入Senparc.Weixin.MP点击右侧【安装】按钮即可界面操作与官方文档图示一致。通过 Visual Studio Code 安装确认已安装 [VS Code] 及 dotnet 命令行安装 .NET SDK 后自动附带。打开解决方案或项目所在目录按Ctrl~打开终端面板。进入需要添加Senparc.Weixin.MP的项目目录执行dotnet add package Senparc.Weixin.MP通过 dotnet 命令行安装与 VS Code 方式相同在任意终端进入目标项目目录后执行dotnet add package Senparc.Weixin.MP安装结果csproj 中的引用变化安装完成后对应.csproj文件中会新增如下节点版本号以安装时为准官方文档示例为16.17.7当前仓库中Senparc.Weixin.MP模块的最新版本信息见 Senparc.Weixin.MP.net10.csproj 中的Version16.25.3/VersionItemGroup PackageReference IncludeSenparc.Weixin.MP Version16.17.7 / /ItemGroup提示后续升级只需更新Version版本号或使用 NuGet 包管理器重新安装最新版。SDK 官方承诺除非特殊说明所有升级都会尽量向下兼容可以直接覆盖更新。安装完成后的最小可用配置无论采用源码引用还是 NuGet 包安装后的第一步都是完成参数配置与账号注册这步做不好后续所有接口调用都会失败。配置 appsettings.json 微信参数SDK 会自动读取appsettings.json中SenparcWeixinSetting节点。参考当前仓库 Samples/MP/Senparc.Weixin.Sample.MP/appsettings.json四个核心参数与微信公众号后台一一对应SenparcWeixinSetting: { IsDebug: true, Token: #{Token}#, EncodingAESKey: #{EncodingAESKey}#, WeixinAppId: #{WeixinAppId}#, WeixinAppSecret: #{WeixinAppSecret}# }配置键对应公众号后台位置说明Token【设置与开发】【基本配置】 服务器配置服务器验证令牌用于签名校验EncodingAESKey【设置与开发】【基本配置】 服务器配置消息加解密密钥安全模式必需WeixinAppId【设置与开发】【基本配置】公众号应用唯一标识WeixinAppSecret【设置与开发】【基本配置】应用密钥用于换取 AccessToken注意示例中的#{...#}是 Azure DevOps 部署时的占位符格式实际使用时应替换为明文值并去掉#与{}。文档同时强调所有字符串值都可能被用于字典索引请勿留空字符串不需要的参数可以删除整条配置但修改 key 后将无法被自动识别。IsDebug用于控制调试信息输出与本地调试行为。在 Program.cs 中注册公众号参考 Samples/MP/Senparc.Weixin.Sample.MP/Program.cs只需几句代码即可完成注册旧版Startup.cs项目把对应代码放入ConfigureServices()/Configure()方法即可// 1. 使用本地缓存必须添加SDK 默认缓存策略为本地缓存 builder.Services.AddMemoryCache(); // 2. Senparc.Weixin 注册必须 builder.Services.AddSenparcWeixin(builder.Configuration); // 3. 启用微信配置必须并在委托中注册公众号账号 var registerService app.UseSenparcWeixin(app.Environment, null, null, register { /* CO2NET 全局配置 */ }, (register, weixinSetting) { // 注册公众号账号信息可以执行多次注册多个公众号 register.RegisterMpAccount(weixinSetting, 【盛派网络小助手】公众号); });其中weixinSetting的值默认来自appsettings.json中的SenparcWeixinSetting节点RegisterMpAccount()方法来自 src/Senparc.Weixin.MP/Senparc.Weixin.MP/Register.cs。注册完成后可通过Senparc.Weixin.Config.SenparcWeixinSetting随时读取自动注册的配置信息。更完整的注册说明参见 公众号注册文档。配置消息接收 URL可选但常见如果需要接收用户的对话消息可在注册代码之后追加公众号消息中间件app.UseMessageHandlerForMp(/WeixinAsync, CustomMessageHandler.GenerateMessageHandler, options { options.AccountSettingFunc context Senparc.Weixin.Config.SenparcWeixinSetting; });完成后再到公众号后台将服务器地址(URL) 配置为https://你的域名/WeixinAsync。中间件与 Controller 两种承载方式的选择、自定义CustomMessageHandler的编写规范详见 MessageHandler 文档 及 自定义消息处理器示例。源码层面验证Senparc.Weixin.MP 包的结构与依赖为了帮助你判断安装包是否完整、以及不同框架版本的选择这里从仓库源码出发给出可验证的事实。目标框架TargetFrameworks从 Senparc.Weixin.MP.net10.csproj 可以看到最新版本同时面向多个目标框架编译TargetFrameworksnet462;netstandard2.0;netstandard2.1;netcoreapp3.1;net10.0/TargetFrameworks其中net10.0向下兼容 .NET 5.0 ~ 9.0netstandard2.0/2.1保证 .NET Core 2.x/3.x 等旧版本项目可以正常使用net462覆盖 .NET Framework 4.6.2 项目。而 Senparc.Weixin.MP.net8.csproj 则面向net462;netstandard2.0;netstandard2.1。NuGet 安装时会根据你的目标框架自动选择兼容的程序集通常无需手动干预。基础依赖Senparc.Weixin.MP并非独立存在其核心依赖包括见上述 csproj 的PackageReference/ProjectReference节点Senparc.Weixin基础库ProjectReference引入NuGet 安装时作为依赖自动带入Senparc.CO2NET.APM全局基础模块与监控追踪Senparc.NeuChar与Senparc.NeuChar.App消息处理标准与实体支撑Newtonsoft.Json 13.0.4JSON 序列化显式保留以兼容卡券、发票等既有模型。常见问题与实用提示两种方式二选一同时使用ProjectReference与PackageReference引用同一模块会导致类型冲突务必保持单一引用方式。全平台项目需要同时接入公众号、小程序、企业微信、微信支付等多个平台时可直接安装Senparc.Weixin.All集成包一次自动引用所有模块再通过autoRegisterAllPlatforms: true自动注册全部已配置账号。升级策略SDK 长期保持向下兼容可以直接通过 NuGet 覆盖升级仓库内各模块发布历史与版本说明可在对应.csproj的PackageReleaseNotes中查阅。源码探索入口SDK 源码总览见 src/ 目录官方打包代码说明见 源码文档更多进阶用法可查阅 docs/zh/guide/mp 下的消息处理、菜单、JSSDK、OAuth 2.0、高级接口等专题文档。小结安装是接入微信公众平台的第一步。本文完整覆盖了官方安装文档的全部内容源码引用与 NuGet 包两种互斥方式的详细操作Visual Studio / VS Code / dotnet CLI、安装后的.csproj变化、以及安装完成后必须完成的appsettings.json参数配置与Program.cs账号注册并结合仓库源码补充了目标框架、依赖关系与本地打包等底层事实。完成安装与注册后即可参照 公众号注册文档 与 MessageHandler 文档 开始你的第一个微信公众号应用。赞分享后端即时通讯金融科技【免费下载链接】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点击查看免费下载相关推荐Senparc.Weixin.MP 安装指南微信公众号 .NET SDK 的源码引用与 NuGet 包两种接入方式全解析Senparc.Weixin.MP 安装指南微信公众号 .NET SDK 的源码引用与 NuGet 包两种接入方式全解析 本篇指南面向所有准备在 .NET 项后端即时通讯金融科技WeiXinMPSDK 中 Senparc.Weixin.WxOpen 模块的两种安装方式源码引用与 NuGet 包详解WeiXinMPSDK 中 Senparc.Weixin.WxOpen 模块的两种安装方式源码引用与 NuGet 包详解 本文基于仓库中的安装指南 docs/后端即时通讯金融科技WeiXinMPSDK 公众号 Sample 全解析Senparc.Weixin.MP 示例项目从 NuGet 集成到源码调试WeiXinMPSDK 公众号 Sample 全解析Senparc.Weixin.MP 示例项目从 NuGet 集成到源码调试 本篇技术指南以仓库 Sampl后端即时通讯金融科技上一篇终极性能对决Translation-Agent如何颠覆传统商业翻译系统下一篇RuoYi-Vue定时任务Quartz高级应用创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表