基于NET Core 的Nuget包制作、发布和运用流程
开发缘由:公司需要调用天眼查-开放平台 ,验证客户的的营业执照信息是否在存续期,并将企业基本信息返回,之后和使用百度图文识别的企业信息进行对照是否一致。
前期准备
在网站中注册后,需要够买套餐。之后点击个人中心进入,点击左侧的我的接口,找到申请接口点击选择你要使用的接口,此次使用的是企业基本信息。
存放Nuget包目前我已知的是1.NuGet官网https://www.nuget.org 2.借助 Nexus Repository Manager 搭建私人的用于存放Nuget包的网站。
搭建私人网站较麻烦,本次使用第一种方式
一定要记住上图的Token值!!
Nuget包制作
1.新建两个.net Core 类库 ,方法如下:
2.新增加方法,用于调用天眼查获取企业信息
方法中的具体实现逻辑请参考 kangkang/基于天眼查的Nuget包
解决方案中 IEISManager 为对外暴露的接口。EnterpriseMessageOutput 为返回值。TianYanChaServiceCollectionExtension 为第三方系统调用时作为启动项,传入Token
3.填写包、包版本、公司、作者、产品、进行打包
右键点击类库打开属性、生成,选择Release
点击打包 ,填写包、包版本、公司、作者、产品,勾选在构建时生成Nuget包
1.切换为Release ,2.重新生成解决方案 会在\bin\Release出现打包好的Nuget包
上传Nuget包
1.在https://www.nuget.org/中进行注册
2.点击Upload,点击Browse,将打包好的Nuget包上传
3.可以在用户管理处,点击Manage Packages中查看上传成功后的Nuget包
Nuget包使用
我是在自己做的一个 项目中进行测试使用的,项目中使用Swagger 访问后端的接口,所以使用Host作为启动项
(一)、准备配置信息
1.在解决方案的Host中引入Nuget包
<PackageReference Include="KK.EIS.TianYanCha" Version="1.0.1" />
2.在appsetting.json添加json串
"EISCode": {"Token": "28131c23-cc0a-4cad-9e2b-6cb6485dd3a1"//为注册完天眼查-开放平台可以获得},
3.在Startup 文件中的找到ConfigureServices方法,在其中加载appsetting.json 中的配置
public IServiceProvider ConfigureServices(IServiceCollection services)
{services.AddTianYanChaEIS(x => {x.Token = _appConfiguration["EISCode:Token"];});
}
(二)、业务层调用
1.业务层添加Nuget包
<PackageReference Include="KK.EIS" Version="1.0.0" />
2.依赖注入,调用方法,传入的是 "统一社会信用代码"
public class EnterpriseMessageManager : DomainService{private IEISManager _eisManager;public EnterpriseMessageManager(IEISManager eisManager){_eisManager = eisManager;}/// <summary>/// 调用天眼查查询企业基本信息 /// </summary>/// <param name="companyMessage"></param>/// <returns></returns>public ResultMessage<EnterpriseMessageOutput> EnterpriseBasicInformationAsync(string companyMessage){var result = _eisManager.EnterpriseBasicInformationQueryAsync(companyMessage);return result;}
3.返回信息
{"result": {"name": "中国移动通信集团有限公司","approvedTime": 1619452800000,"regStatus": "存续","taxNumber": "911100007109250324","legalPersonName": "杨杰","regLocation": "北京市西城区金融大街29号","businessScope": "基础电信业务(具体经营范围以许可证为准,有效期至2029年1月6日);增值电信业务(具体经营范围以许可证为准);互联网视听节目服务、手机电视分发服务、IPTV传输服务(信息传输业其他许可有效期至2021年09月17日);制作、发行广播电视节目(时政、新闻及同类专题、专栏除外);经营与信息通信业务相关的系统集成、漫游结算清算、技术开发、技术服务、广告业务、设备销售和进出口业务等;国有资产投资及管理;业务培训、会议服务;设计、制作广告,利用自有媒体发布广告。(市场主体依法自主选择经营项目,开展经营活动;依法须经批准的项目,经相关部门批准后依批准的内容开展经营活动;不得从事国家和本市产业政策禁止和限制类项目的经营活动。)","creditCode": "911100007109250324","estiblishTime": 932572800000,"toTime": null,"regCapital": "30000000万人民币"},"targetUrl": null,"success": true,"error": null,"unAuthorizedRequest": false,"__abp": true
}
这就是完整的过程
基于NET Core 的Nuget包制作、发布和运用流程相关推荐
- 基于 .Net Core 的组件 Nuget 包制作 amp; 发布
微软的 ASP.Net Core 强化了 Nuget 的使用,所有的 .Net Core 组件均有 Nuget 管理,所以有必要探讨一下 .Net Core 组件制作 Nuget 包和发布. 之前 . ...
- 解决 .net core 中 nuget 包版本冲突问题
解决 .net core 中 nuget 包版本冲突问题 参考文章: (1)解决 .net core 中 nuget 包版本冲突问题 (2)https://www.cnblogs.com/dudu/p ...
- 一篇万字长文读懂微软PDB、SourceLink——.net core之nuget 包调试
序言 在大前年,为了说服框架组采用Nuget包的形式分发框架类库,我费了老鼻子的劲也没有取得成功,其中最致命的一个问题是,nuget包不能获得源码调试级的支持,在分发和包的管理形式上其比其他方案都优秀 ...
- Nuget包制作最佳解决方案
https://www.cnblogs.com/drea/p/8418717.html 最近研究ABP框架,下载其全套源码,想"据为己有",这样添加功能或者修改源码的话就非常方便了 ...
- 基于Android Q的OTA包制作/签名(包含差分包)
先介绍一下关于OTA 什么是OTA? 通俗的说,OTA升级是指苹果手机通过无线网络下载升级数据包,之后直接安装升级的总称.通常我们利用iPhone手机无线wifi网络登录官方网站找到手机升级所需要的数 ...
- 使用 Cake 推送 NuGet 包到 AzureDevops 的 Artifacts 上
大家好,我最近在想如何提交代码的时候自动的打包 NuGet 然后发布到 AzureDevOps 中的 Artifacts,在这个过程中踩了很多坑,也走了很多弯路,所以这次篇文章就是将我探索的结果和我遇 ...
- 自动将 NuGet 包的引用方式从 packages.config 升级为 PackageReference
在前段时间我写了一篇迁移 csproj 格式的博客 将 WPF.UWP 以及其他各种类型的旧 csproj 迁移成基于 Microsoft.NET.Sdk 的新 csproj,不过全过程是手工进行的, ...
- 轻量级.Net Core服务注册工具CodeDi发布啦
为什么做这么一个工具 因为我们的系统往往时面向接口编程的,所以在开发Asp .net core项目的时候,一定会有大量大接口及其对应的实现要在ConfigureService注册到ServiceCol ...
- 记录使用 Cake 进行构建并制作 nuget 包
书接上一回(https://www.cnblogs.com/h82258652/p/4898983.html)?[手动狗头] 前段时间折腾了一下,总算是把我自己的图片缓存控件(https://gith ...
- 开发.NET Core NuGet包并实现CI/CD
实际开发中我们需要对一些公共类库进行开发,并基于Jenkins进行CI/CD(CI:持续集成,CD:持续部署),其他项目通过NuGet引用.上文讲述了如何搭建本地NuGet服务器并发布NuGet包,这 ...
最新文章
- [Ext JS 4] 实战Chart 协调控制(单一的坐标,两个坐标)
- IDEA 热启动,每次更改代码后不用重启服务
- springmvc整合redis架构搭建实例
- [转]使用URLConnection下载文件或图片并保存到本地
- 介词at_介词逻辑| 离散数学
- String str 与 String str=new String() 区别
- 四大原因告诉你:云为什么比传统IT系统更安全
- 微信小程序中的列表渲染
- MATLAB编程 动态数组的创建
- 我用Vue3+TS实现了一个新年倒计时组件,适用于各种场景
- python加减乘除求余
- Java 设计模式之策略模式(Strategy Pattern)
- 解决iperf发包高丢包率的问题
- 计算机视觉相关网站整理
- html电子邮件签名_有关HTML电子邮件的知识
- 对数损失函数与最大似然损失函数
- 读《我不喜欢这世界,我只喜欢你》有感
- 25种动态图形设计手机竖屏AE模板下载
- Cannot deserialize instance of `java.util.ArrayList<java.lang.Object>` out of VALU
- 送外卖真的能够做到月入过万吗?
热门文章
- 中国文学通史之各个阶段介绍
- ElasticSearch 哪里不会点哪里
- http下载异常_荏苒项目二:配置(日志,异常,数据库,前端,跨域CORS)
- github如何开启两步验证
- 《林肯传》--[美]戴尔·卡耐基
- Android系统体系结构
- mysql捕获1300的错误_pt-osc 变更时遇到 “MySQL error 1300” 报错问题解决
- 浩辰cad2019破解补丁|浩辰cad2019无限试用破解补丁下载(附浩辰cad2019激活工具/无需激活码)
- 万能地图下载器矢量标注功能特性
- 不换门可以改开门的方向吗_防盗门可以更改开门方向吗?