1. 在NuGet官网上注册并获取API Key

  到NuGet上注册一个新的账号,然后在My Account页面,获取一个API Key,如果没有则在API keys 页面创建一个就可以。

2. 下载NuGet.exe

  在NuGet官网下载Nuget.exe,也可下载原版版本自行编译生成(小编在这里下载源码编译试了一下,一片红,就没有一个一个问题解决,感兴趣和爱专研的小伙伴可以一路披荆斩棘)。把下载下来的nuget.exe目录添加到环境变量Path中。

3. 设置API Key

  打开运行cmd,输入一下指令: nuget setApiKey <你的API key>,示例: nuget setApiKey 19b19ffc30caef1c9376cd2982992a591165ae17721842d627f4b398238634a0

运行结果:

4. 开发自己的拓展类库

  这一步和自己平时创建项目,编辑代码一样,在此不再累述。编辑好自己的类库之后,打开项目属性文件AssemblyInfo.cs,设置AssemblyVersion属性,设置好之后编译项目待用。

5. 产生并修改nuspec

  nuspec是NuGet将项目打包成nupkg的输入文件,可以通过nuget spec命令产生。在命令提示符下,进入*.csproj文件所在目录,然后执行:nuget spec即可,执行成功会生成*.nuspec的文件。

打开刚生成的*.nuspec文件,编辑description节点,这个是项目的描述,自行编辑即可。

6. 产生类库包(Library Package)

  在*.csproj目录下使用指令nuget pack *.csproj产生类库包,运行成功会生成*.1.0.0.0.nupkg的文件。其中1.0.0.0就是项目属性文件中配置的版本号。

7. 发布类库包

  使用指令 nuget push *1.0.0.0.nupkg -source nuget.org 发布刚才生成的类库包。注: -source 后面的参数为类库包上传的地址,nuget.org是nuget托管地址,也可使用自己的地址,这个方法感兴趣的朋友可以自己测试下。

发布成功后,在nuget登录后的页面可以看到你刚才发布的类库包了,但是这时候的状态是Validating,这是nuget在校验、确认的状态,这时候使用nuget管理工具也是无法搜索到你刚才发布的包的。不要着急,一般nuget数分钟就会审核通过,状态更改为Listed,并且会发一条邮件通知你,这时候就可以在nuget管理工具中搜索到这个包了。

8. 本地安装刚才的nuget包,测试你的拓展功能。

9. 更新类库包

  更改完代码,修改项目属性文件中的版本号,编译待用。依次使用 nuget pack *.csproj和nuget push *.nupkg -source nuget.org指令生成类库包和发布包。注: 使用 nuget push 指令的时候,注意发布对应版本的包,每一个版本都会对应一个.nupkg文件。

10. 本地nuget管理工具更新包,测试功能。

自己编辑Nuget拓展包,并发布Nuget服务器,提供下载使用的更多相关文章

  1. 这台计算机上缺少此项目引用的 NuGet 程序包。使用“NuGet 程序包还原”可下载这些程序包

    将项目复制到其地方的时候编译会报错,按照官网方法也不行,从网上查了一个有用的方法如下 打开CSPROJ文件.删除如下代码,  <Import Project="..\packages\ ...

  2. 解决C#项目出现“此项目引用这台计算机上缺少的 NuGet 程序包。使用 NuGet 程序包还原可下载这些程序包。有关详细信息,请参阅 http://go.microsoft.com/fwlink/?LinkID=322105。缺少的文件是 ..\packages\Microsoft.Net.Compilers.1.0.0\build\Microsoft.Net.Compilers.props”

    1.打开项目的.csproj文件 2.删掉如下选中的内容: 3.右键项目-->管理NuGet程序包(N) 找到Microsoft.CodeDom.Providers.DotNetCompiler ...

  3. spring boot 打包成jar 包在发布到服务器上

    http://blog.csdn.net/sai739295732/article/details/49444447

  4. Spring包的依赖关系以及提供下载

    https://www.jianshu.com/p/5b0c96975164 这篇简书叙述的很完整 一下是个人整和的炸包,里面有很全面的Spring包, 还有一些其他包,都是官网下载 emmmm... ...

  5. NuGet -- 如何创建及发布自己的程序包

    STEP 1:在NuGet上注册并获取API Key    首先,你需要在NuGet(https://www.nuget.org/)上注册一个新的账号,然后在My Account页面,获取一个API ...

  6. 这台计算机上缺少此项目引用的 NuGet 程序包-缺少的文件是 ..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props

    异常处理汇总-开发工具  http://www.cnblogs.com/dunitian/p/4522988.html 协助开发里面总有几个是极简爱好者,但是呢删了不该删的就会影响项目开发,下面看下完 ...

  7. 这台计算机上缺少此项目引用的 NuGet 程序包,DotNetCompilerPlatform

    严重性 代码 说明 项目 文件 行 禁止显示状态错误 这台计算机上缺少此项目引用的 NuGet 程序包.使用“NuGet 程序包还原”可下载这些程序包.有关更多信息,请参见 http://go.mic ...

  8. 利用 Azure Devops 创建和发布 Nuget 包

    利用 Azure Devops 创建和发布 Nuget 包 原 Visual Studio Team Service ,简称 VSTS,能够创建 pipelines 管道以构建应用程序,并将其部署到任 ...

  9. 一个技术汪的开源梦 —— 基于 .Net Core 的组件 Nuget 包制作 & 发布

    一个技术汪的开源梦 —— 目录 微软的 ASP.Net Core 强化了 Nuget 的使用,所有的 .Net Core 组件均有 Nuget 管理,所以有必要探讨一下 .Net Core 组件制作 ...

随机推荐

  1. Datatables 1.10.x在命名上与1.9.x

    1.10.x与1.9.x参数名对照表 Datatables 1.10.x在命名上与1.9.x的有区别,新版的使用的是驼峰的命名规则,而之前的是采用匈牙利命名规则 当然,这些变化都是向下兼容的,你可以继 ...

  2. 两大数相乘 -- javascript 实现

    (function (){ var addLarge = function(n1,n2){ var carry = 0; var ret = ""; n1=n1.toString( ...

  3. mysql15--垂直分表水平分表

    分表技术(表的结构不能变) 分表技术有(水平分割和垂直分割) 当一张越来越大时候,即使添加索引还慢的话,我们可以使用分表 以qq用户表来具体的说明一下分表的操作. 思路如图 : 首先我创建三张表 u ...

  4. MTK 电池曲线配置【转】

    本文转载自:http://blog.csdn.net/u010245383/article/details/51006597 硬件平台:MT8382 网上有很多关于电池曲线配置的文档,定位到具体的文件 ...

  5. YTU 1005: 渊子赛马

    1005: 渊子赛马 时间限制: 1000 Sec  内存限制: 64 MB 提交: 338  解决: 49 题目描述 赛马是一古老的游戏,早在公元前四世纪的中国,处在诸侯割据的状态,历史上称为&qu ...

  6. AutoIT: 处理GridView控件的一些折中方法

    一般情况下,Gridview是无法通过AutoIT Window Info来获取控件信息的,但是可以有折中的办法对Gridview中的字段赋值. #include<array.au3> $ ...

  7. 使用git管理远程仓库

    1.从现有仓库克隆 git clone git://github.com/schacon/grit.git 2.检查当前文件状态 git status 3.跟踪新文件 git add XXX 4.忽略 ...

  8. 表单中的readOnly 和disabled

    readonly和Disabled是用在表单中的两个属性,它们都能够做到使用户不能够更改表单域中的内容.但是它们之间有着微小的差别,总结如下: disabled也可以禁用按钮和链接: <butt ...

  9. 字节流与字符流简单操作(OutputStream、InputStream、Writer、Reader)

    操作流程 使用File类打开一个文件 通过字节流或者字符流的子类.指定输出的位置. 进行读/写操作 关闭输入/出 字节流与字符流 在java.io包中操作文件内容主要有两大类:字节流字符流.两大类分为 ...

  10. Gym 100531G Grave(水题)

    题意:给定一个大矩形,再给定在一个小矩形,然后给定一个新矩形的长和高,问你能不能把这个新矩形放到大矩形里,并且不与小矩形相交. 析:直接判定小矩形的上下左右四个方向,能不能即可. 代码如下: #pra ...