在nuget上发布自己的程序集教程

 前期准备

[1]注册nuget官网账号;注册地址:https://www.nuget.org/

[2]下载Nuget.exe文件;下载地址:https://www.nuget.org/downloads

[3]将Nuget.exe所在路径配置到系统环境变量,控制面板\所有控制面板项\系统,单击高级系统设置>>>>环境变量>>>>选中Path,新增Nuget.exe所在路径。

前期准备已经完全,开始上正货。老规矩,图文结合;

制作后缀为.nupkg的文件(两种方法)

[1]基于VS2017直接生成.nupkg文件具体步骤如下

1)新建一个.NerStandard类库;如下图所示:

2)项目属性设置

 

3)右键发布即可生成.nupkg文件

[2]使用普通类库项目生成.nupkg文件

1)新建一个普通类库项目

2)在类库所在项目目录下生成包描述文件(nuget spec)

复制代码
复制代码
<?xml version="1.0"?>
<package >
  <metadata>
    <id>$id$</id>
    <version>$version$</version>
    <title>$title$</title>
    <authors>obchy</authors>
    <owners>obchy</owners>
    <licenseUrl>......</licenseUrl>
    <projectUrl></projectUrl>
    <iconUrl>//icon</iconUrl>
    <requireLicenseAcceptance>false</requireLicenseAcceptance>
    <description>$description$</description>
    <releaseNotes></releaseNotes>
    <copyright>Copyright 2018</copyright>
    <tags></tags>
  </metadata>
</package>
复制代码
复制代码

3)调用指令生成对应的包文件

nuget pack (路径)******.csproj -Prop Configuration=Release

进入发布部署流程

[1]如果发布到nuget官方网站则需要执行此命令进行身份认证

nuget setApiKey apikeyval -Source https://www.nuget.org/api/v2/package

 ps:高亮区域apikey从nuget官网获取如下图所示菜单

 

[2]执行发布指令

1)发布到官方:

nuget push D:\NugetPackage\DbDirver.1.1.1.1.nupkg -Source https://www.nuget.org/api/v2/package

2)发布到内部服务器

nuget push D:\NugetPackage\DbDirver.1.0.1.1.nupkg -Source 内部站点路径

效果预览及调用

[1]效果预览

[2]调用

复制代码
复制代码
using DbDirver;
using System;

namespace Test
{
    class Program
    {
        static void Main(string[] args)
        {
            var driver = DbDriverHelper.GetDbDriver(DbDriverTypeEnum.SqlServer, "", 3600);
            var dt = driver.ExecuteNonQueryWithTransaction(System.Data.CommandType.Text,"select * from table",null);
            Console.WriteLine("Hello World!");
        }
    }
}
复制代码
复制代码

 以上为本次博文的全文内容,如有错误,敬请告知,
 学习==进步

posted @   ~雨落忧伤~  阅读(162)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 字符编码:从基础到乱码解决
历史上的今天:
2018-04-21 适用于app.config与web.config的ConfigUtil读写工具类 基于MongoDb官方C#驱动封装MongoDbCsharpHelper类(CRUD类) 基于ASP.NET WEB API实现分布式数据访问中间层(提供对数据库的CRUD) C# 实现AOP 的几种常见方式
2018-04-21 Go/Python/Erlang编程语言对比分析及示例 基于RabbitMQ.Client组件实现RabbitMQ可复用的 ConnectionPool(连接池) 封装一个基于NLog+NLog.Mongo的日志记录工具类LogUtil 分享基于MemoryCache(内存缓存)的缓存工具类,C# B/S 、C/S项目均可以使用!
2018-04-21 常用样式制作思路 自定义按钮~自适应布局~常见bug seajs简记 初学者必知的HTML规范 不容忽略的——CSS规范
2018-04-21 高效开发之SASS篇 灵异留白事件——图片下方无故留白 你会用::before、::after吗 link 与 @import之对比 学习前端前必知的——HTTP协议详解 深入了解——CSS3新增属性 菜鸟进阶——grunt $(#form :input)与$(#form input)的区别
2018-04-21 input屏蔽历史记录 ;function($,undefined) 前面的分号是什么用处 JSON 和 JSONP 两兄弟 document.body.scrollTop与document.documentElement.scrollTop兼容 URL中的# 网站性能优化 前端必知的ajax 简单理解同步与异步 那些年,我们被耍过的bug——has
2018-04-21 es6 Object.assign ECMAScript 6 笔记(六) ECMAScript 6 笔记(一) react入门——慕课网笔记 jquery中动态新增的元素节点无法触发事件解决办法 响应式图像 弹窗细节 微信浏览器——返回操作 Float 的那些事 Flex布局 HTML5 data-* 自定义属性 参数传递的四种形式
2018-04-21 vue—你必须知道的 js数据类型 前端学习 CSS 居中 事件委托和this 让js调试更简单—console AMD && CMD 模式识别课程笔记(一) web攻击 web安全之XSS JSONP && CORS css 定位 react小结
点击右上角即可分享
微信分享提示