对于那些不打算涉及这么复杂而又想制作自己的 nuget 包的园友们,我是推荐使用 Nuget Package Explorer 来制作的。关于这个图形化的 nuget 包管理软件的使用,博客园内有相关的文章,大家可以搜索看看。 好,回归正题。但是我们都知道,图形化最大的问题就 ...
对于那些不打算涉及这么复杂而又想制作自己的 nuget 包的园友们,我是推荐使用 Nuget Package Explorer 来制作的。关于这个图形化的 nuget 包管理软件的使用,博客园内有相关的文章,大家可以搜索看看。
好,回归正题。但是我们都知道,图形化最大的问题就是自动化不高。
这是我其中的一个 nuget 包,可以看见里面的文件还是比较多的,那么我每一次重新编译,需要发布新版本的时候,就得把里面大部分的文件都替换成新的文件。每次都一个一个的替换,烦啊。而且有时候还得担心有没有替换少了。那么自动化打包肯定是值得研究研究一番了。
在 nuget 官网上面我们可以找到一篇关于如何创建 nuget 包的教程:https://docs.nuget.org/Create/Creating-and-Publishing-a-Package。
那么我们先下载这个命令行工具下来。
然后准备我们需要打包的文件(就是 dll 之类的东西)。
看了下文档,说是支持读取直接 csproj 文件打包,那我们先试一下吧,毕竟程序员的准则就是能简单就简单,能懒就懒。
这里我的项目结构是这样的:
然后我们运行 cmd 并输入命令
报了个错,重新生成一下项目吧,再次运行。
好像成了,看看目录。
但是这 dll 所属的分类,错了吧,我建的可是 Win10 应用程序的 dll。。。
既然 csproj 方案不行的话,我们继续看文档。看见有一个通过描述 nuget 包的方案:https://docs.nuget.org/Create/Creating-and-Publishing-a-Package#create-the-manifest
要建立这么一个描述文件也很简单,跑个命令
然后我们用文本编辑器来打开这个新的 Package.nuspec 文件。
可以看见是一个
再次执行。
有警告,简单看了下,是说不知道应该打包哪些文件。
那么继续找找文档,最后我们可以发现这个。
修改下我们的 nuspec 文件。
新加上红色部分,也就是将这个 dll 打包进 nuget 包的 lib\uap10.0\ 这个目录里面。
再次执行打包命令。
这次没警告了。
而且包的结构也没问题。
那么只要编写好 nuspec 里面的 files 节点的话,以后执行 nuget pack XX.nuspec 这个命令的话,就能够简单地生成 nuget 包了。
为了再懒一点,我们将上面这个命令弄成批处理。
%~dp0nuget.exe pack %~dp0Package.nuspec -OutputDirectory %~dp0
海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com
原标题:使用命令行打包 nuget 包
关键词:get
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。