酷Q社区»社区 分享交流区 编程技术

[SDK] Native.SDK --最贴近酷Q的 VB SDK (支持 酷Q on Docker)[复制链接]

作者: 947295340|查看: 910|回复: 6
跳转到指定楼层
2019-1-27 01:51

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?注册

x
本帖最后由 947295340 于 2019-6-8 21:37 编辑

Native.SDK 优点介绍


  • 程序集脱库打包
  • 类UWP开发体验
  • 完美翻译酷QApi
  • 支持酷Q应用打包
  • 支持附加进程调试
  • 支持酷Q on Docker (https://cqp.cc/t/42164, 感谢 @成音S )

Native.SDK 项目结构




Native.SDK 开发环境


  • Visual Studio 2015 或更高版本 (可能支持 Visual Studio 2012, 欢迎测试)
  • Microsoft .Net Framework 4.0 (XP系统支持的最后一个版本)

Native.SDK 部署流程


  • 下载并打开 Native.SDK
  • 打开 Native.Basic 项目属性, 修改 "应用程序" 中的 "程序集名称" 为你的AppId (参见 http://d.cqp.me/Pro/开发/基础信息)
  • 展开 Native.Basic 项目, 修改 "Native.Basic.json" 文件名为你的AppId
  • 展开 Native.Basic 项目, 找到 App -> Core -> LibExport.tt 文件, 右击选择 "运行自定义工具"
此时 Native.SDK 的开发环境已经配置成功!
要找到生成的 程序集, 请找 Native.Basic -> bin -> x86 -> (Debug\Release)

Native.SDK 调试流程


  • 打开 酷Q Air/Pro, 并且登录机器人账号
  • 打开 Native.Basic 项目, 修改 "编译" 中的 "生成输出路径" 为酷Q的 "dev" 路径
  • 重新生成 Native.Basic 项目
  • 在酷Q上使用 "重载应用" 功能, 重载所有应用
  • 依次选择VS的菜单项: "调试" -> "附加到进程"
  • 选择 CQA.exe/CQP.exe 的托管进程, 选择附加
  • 附加成功后进入调试模式, 即可进行断点 (注: 仅在只加载一个 .Net 应用的酷Q可以进行调试)

Native.SDK 已知问题


  • 对于 VisualBasic 项目不知道为什么安装高版本的 Fody 就编译不通过, 现 Fody 版本为 1.6.2, 所以暂时不支持无缝升级到 .Net Framewrok 4.5+ (新增了 .Net Frame 4.5 的坑)

Native.SDK 下载地址

      支持我, 给我的项目一个星标

Native.SDK 更新日志

(查看详细更新日志请关注 Github 的 README.md)
  • 2019年06月07日 版本: V2.0.6.0607
由于 酷Q 停止对 Windows XP/Vista 系统的支持, 所以 Native.SDK 将停止继续使用 .Net 4.0
并将此版本作为最终发布版归档处理, 下个版本开始仅对 .Net 4.5+ 更新

1. 修复 悬浮窗数据转换错误 (由 Pack -> BinaryWriter)
2. 优化 部分 Api 接口的数据处理效率 (由 UnPack -> BinaryReader)
3. 优化 分离 Native.Csharp.Tool 项目, 使 SDK 更轻量
4. 优化 调整 Native.Csharp.Tool 项目结构, 每个模块为一个根文件夹. 排除即可在编译时移除功能
5. 优化 新增 HttpTool (位于 Native.Csharp.Tool.Http)
6. 新增 SQLite 操作类 (不包含EF, 需要可自行添加), 完全移植自 System.Data.SQLite (.Net 4.0)

  • 2019年05月04日 版本: V2.0.0.0504
说明: 由于酷Q改动了应用机制, 因此升级时请务必保存代码, 进行代码迁移升级!
注意: 本次升级相对于之前的版本应用间不兼容做出了修改, 但是其机制导致了与旧版不兼容, 请酌情升级!

1. 修复 CqApi.AddFatalError 方法传递错误时可能引发酷Q堆栈错误
2. 修复 AppDomain.UnhandledException 全局异常捕获失效, 现在支持定位到方法
3. 优化 AppDemain.UnhandledException 全局异常捕获解析方式
4. 优化 项目版本号, 统一为项目新增当前版本号以区分
5. 优化 项目事件模型, 抽象 EventArgsBase 类作为公共抽象类
6. 优化 CqMsg 类, 完善 CqCodeType 枚举
7. 优化 CqMsg 类, 更改 CqCode.Content 为字典, 而非键值对集合
8. 优化 调试机制, 根据 酷Q 应用机制变动而转变为附加调试
9. 优化 IOC容器的注册方式
10.新增 Native.Basic.Repair 组件, 组件为原 (@成音S) 大佬的 .Net 兼容组件 (感谢@laomms帮助修改 VB.Net源代码 Github: https://github.com/laomms)
11.移除 Event_AppMain.Initialize 方法, 保证应用加载效率

  • 2019年04月06日 版本: V1.1.2
1. 优化 Native.Csharp.Sdk 项目的结构, 修改类: CqApi 的命名空间
2. 新增 消息解析类: CqMsg (使用方法还请参照 Github 的 README.md 中的更新日志)

  • 2019年03月03日 版本: V1.1.0
本次更新于响应 "酷Q" 官方 "易语言 SDK" 的迭代更新

1. 新增 CqApi.ReceiveImage (用于获取消息中 "图片" 的绝对路径)
2. 新增 CqApi.GetSendRecordSupport (用于获取 "是否支持发送语音", 即用于区别 Air 和 Pro 版本之间的区别)
3. 新增 CqApi.GetSendImageSupport (用于获取 "是否支持发送图片", 即用于区别 Air 和 Pro 版本指间的区别)
4. 优化 CqApi.ReceiveRecord 方法, 使其获取到的语音路径为绝对路径, 而非相对路径

  • 2019年02月20日 版本: V1.0.2
1. 更新 Native.Basic 项目的部分注释
2. 新增 Event_AppMain.Initialize 方法, 位于 "Native.Basic.App.Event" 下, 用于当作本项目的初始化方法
3. 优化 Event_AppMain.Resolvebackcall 方法的执行, 默认将依据接口注入的类型全部实例化并取出分发到事件上

  • 2019年01月27日 版本: V1.0.1
1. 移除 AnyCPU 配置项, 提升编译稳定性
2. 提交相关依赖项目, 提升编译稳定性

  • 2019年01月27日 版本: V1.0.0
1. 打包上传项目

被感谢 2

前排围观
新贴子?前排占座
无法直接启动带有类库输出类型的项目
cpk怎么生成呢
生成出 dll+json 直接用酷Q打包即可 详情回复 发表于 2019-1-30 00:00
回复使用道具举报
947295340@楼主2019-1-30 00:00

生成出 dll+json 直接用酷Q打包即可
不错不错感谢楼主
您需要登录后才可以回帖 登录 | 注册

本版积分规则尽量使你的回复能够对他人有所帮助

Powered by Discuz!Designed by hexapp© 2020 CoolQ

快速回复返回顶部返回列表