自己编辑Nuget拓展包,并发布Nuget服务器,提供下载使用
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服务器,提供下载使用的更多相关文章
- 这台计算机上缺少此项目引用的 NuGet 程序包。使用“NuGet 程序包还原”可下载这些程序包
将项目复制到其地方的时候编译会报错,按照官网方法也不行,从网上查了一个有用的方法如下 打开CSPROJ文件.删除如下代码, <Import Project="..\packages\ ...
- 解决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 ...
- spring boot 打包成jar 包在发布到服务器上
http://blog.csdn.net/sai739295732/article/details/49444447
- Spring包的依赖关系以及提供下载
https://www.jianshu.com/p/5b0c96975164 这篇简书叙述的很完整 一下是个人整和的炸包,里面有很全面的Spring包, 还有一些其他包,都是官网下载 emmmm... ...
- NuGet -- 如何创建及发布自己的程序包
STEP 1:在NuGet上注册并获取API Key 首先,你需要在NuGet(https://www.nuget.org/)上注册一个新的账号,然后在My Account页面,获取一个API ...
- 这台计算机上缺少此项目引用的 NuGet 程序包-缺少的文件是 ..\packages\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.1.0.0\build\Microsoft.CodeDom.Providers.DotNetCompilerPlatform.props
异常处理汇总-开发工具 http://www.cnblogs.com/dunitian/p/4522988.html 协助开发里面总有几个是极简爱好者,但是呢删了不该删的就会影响项目开发,下面看下完 ...
- 这台计算机上缺少此项目引用的 NuGet 程序包,DotNetCompilerPlatform
严重性 代码 说明 项目 文件 行 禁止显示状态错误 这台计算机上缺少此项目引用的 NuGet 程序包.使用“NuGet 程序包还原”可下载这些程序包.有关更多信息,请参见 http://go.mic ...
- 利用 Azure Devops 创建和发布 Nuget 包
利用 Azure Devops 创建和发布 Nuget 包 原 Visual Studio Team Service ,简称 VSTS,能够创建 pipelines 管道以构建应用程序,并将其部署到任 ...
- 一个技术汪的开源梦 —— 基于 .Net Core 的组件 Nuget 包制作 & 发布
一个技术汪的开源梦 —— 目录 微软的 ASP.Net Core 强化了 Nuget 的使用,所有的 .Net Core 组件均有 Nuget 管理,所以有必要探讨一下 .Net Core 组件制作 ...
随机推荐
- swift中的@objc的作用
转载:https://www.jianshu.com/p/6c5b45d9d042 自动清除冗余代码减小包大小 得益于 Swift 的静态语言特性,每个函数的调用在编译期间就可以确定.因此在编译完成后 ...
- 比特币交易(Transaction)的输入与输出
比特币通过“挖矿”机制保证了不能任意造币.通过分布式网络和HashCash机制解决双重支付问题.事实上比特币系统中不存在独立的电子货币,而只存在交易单(账单),货币值是依附于交易单存在的,所以比特币中 ...
- mybaits错误解决:There is no getter for property named 'id' in class 'java.lang.String'
在使用mybaitis传参数的时候,如果仅传入一个类型为String的参数,那么在 xml文件中应该使用_parameter 来代替参数名. 正确的写法: <span style="f ...
- pssh 批量管理执行
pssh 是一个python写的批量执行工具,非常适合30台服务器以内的一些重复性的操作 安装很简单,只要python版本2.4 以上的都行 用这个工作最好把机器做做好ssh信任关系,不然很麻烦 每次 ...
- Git 仓库结构 (二)***
一.GIT工作流程 了解git,首先要弄清楚对象在被git管理过程中所处的4个阶段,分别是: 工作目录 index(又称为暂存区) 本地仓库 远程仓库. 从时间先后来讲,工作目录的内容是你当前看到的, ...
- bzoj 1951: [Sdoi2010]古代猪文 【中国剩余定理+欧拉定理+组合数学+卢卡斯定理】
首先化简,题目要求的是 \[ G^{\sum_{i|n}C_{n}^{i}}\%p \] 对于乘方形式快速幂就行了,因为p是质数,所以可以用欧拉定理 \[ G^{\sum_{i|n}C_{n}^{i} ...
- LuoguP1063 能量项链【区间Dp】
前天测试考了QAQ.这么经典的区间dp不再开一文好像有点可惜. 内容是从模拟赛结题报告中copy来的.QAQ noip能量项链原题. https://www.luogu.org/problemnew/ ...
- 如何验证自己的网络是否支持ipv6
http://test-ipv6.com/进入得到自己的ipv6地址 然后命令行 ping 一下
- the "ssl" parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf
一:开始Nginx的SSL模块 1.1 Nginx如果未开启SSL模块,配置Https时提示错误 原因也很简单,nginx缺少http_ssl_module模块,编译安装的时候带上--with-htt ...
- codeforces 570 D. Tree Requests (dfs)
题目链接: 570 D. Tree Requests 题目描述: 给出一棵树,有n个节点,1号节点为根节点深度为1.每个节点都有一个字母代替,问以结点x为根的子树中高度为h的后代是否能够经过从新排序变 ...