Nuget多项目批量打包上传服务器的简明教程

栏目: IT技术 · 发布时间: 4年前

内容简介:本篇不会介绍Nuget是什么,如何打包上传Nuget包,怎么搭建私有Nuget服务器。这些问题园子里都有相应的文章分享,这里不做过多阐述。另外本文假设你已经下载了Nuget.exe,并且已经设置好了环境变量。什么?你还不会?那你先去百度下设置好后再来看这篇文章吧。实际项目中,我们可能一个解决方案下面会有N多个项目,每次发布这N多个项目都会使用统一的版本号一起发布到Nuget服务器。搜索了很久没找到一个好的方式,好在参考了abp vnext的打包方法实现了这个需求。因此分享下,希望对有需要的人有所帮助。作者:

本篇不会介绍Nuget是什么,如何打包上传Nuget包,怎么搭建私有Nuget服务器。这些问题园子里都有相应的文章分享,这里不做过多阐述。另外本文假设你已经下载了Nuget.exe,并且已经设置好了环境变量。什么?你还不会?那你先去百度下设置好后再来看这篇文章吧。 nuget下载

实际项目中,我们可能一个解决方案下面会有N多个项目,每次发布这N多个项目都会使用统一的版本号一起发布到Nuget服务器。搜索了很久没找到一个好的方式,好在参考了abp vnext的打包方法实现了这个需求。因此分享下,希望对有需要的人有所帮助。

作者:依乐祝

原文地址: https://www.cnblogs.com/yilezhu/p/12591174.html

首先看下图,每个脚本的作用我进行了注释,稍后我们再做进一步的详细阐述。在具体批量发布的时候,只需要先执行下 pack.ps1 脚本,然后再执行下 push_packages.ps1 脚本即可。当然还有一些参数需要根据你的项目来进行修改的。不过你不用担心,只需要按照下面步骤进行即可。

Nuget多项目批量打包上传服务器的简明教程

第一步,在 common.ps1 中配置我们的解决方案以及项目路径

我们把 $solutions 这个变量中的内容替换成我们的解决方案的相对路径。比如:解决方案在 E:\abp\abp\framework 这个路径,我们的脚本文件在 E:\abp\abp\nupkg 这个路径,那么我们就可以配置 framework 这个值就可以了。

Nuget多项目批量打包上传服务器的简明教程

第二步, pack.ps1 这个脚本基本不需要修改,这里只是进行下代码的解释

  1. 这里首先引入第一步的 common.ps1 脚本文件(因为需要用到上面定义的变量)
  2. 循环遍历 $solutions 变量,找到所有的解决方案,并执行 dotnet restore
  3. 这里才是打包的核心代码,遍历 $projects 并执行打包过程,然后把生成的 nupkg 文件拷贝到脚本所在的目录。

Nuget多项目批量打包上传服务器的简明教程

第三步, push_packages.ps1 脚本文件打包上传到服务器

  1. 这里首先引入第一步的 common.ps1 脚本文件(因为需要用到上面定义的变量)

  2. 从根目录下获取 common.props 文件中获取对应的版本号,并推送对应版本号的 nupkg 到服务器

    注意: common.props 文件需要你自行添加,这里面可以定义csproject文件所需要的一些变量

  3. 循环 common.ps1 脚本中的 $projects ,并执行推送过程。

  4. 最后修改 下你自己的 --api-key (Nuget管理的密钥)以及 -s (包源,如果你是自己搭建的私有nuget服务器,则这里需要替换成私有nuget服务器地址)

Nuget多项目批量打包上传服务器的简明教程

第四步,执行上传操作

  1. 进入到你的上面三个脚本的目录, Shift +鼠标右键,选择在此处打开 powershell 打开powershell命令窗口

  2. 依次执行下 .\pack.ps1push_packages.ps1 脚本即可。

  3. 这里你在执行 powershell脚本 的时候可能会报如下的 错误

    Nuget多项目批量打包上传服务器的简明教程

    这是由于操作系统默认禁止执行脚本,需要以管理员身份执行一次 set-executionpolicy remotesigned 然后输入 y 回车即可顺利执行。

    Set-ExecutionPolicy 可更改 Windows PowerShell 执行策略的用户首选项。要在 Windows Vista、Windows Server 2008 和 Windows

    的更高版本上运行此命令,必须使用"以管理员身份运行"选项启动 Windows PowerShell,

总结

本文参照abp vnext批量打包解决方案下面所有项目文件并上传到nuget服务器的方法实现了一个简单的Nuget多项目批量打包上传服务器的方法,希望对有需要的朋友有所帮助,当然,如果你有更好的方式也可以给我留言。感谢阅读。

下载地址

点这里下载: https://files.cnblogs.com/files/yilezhu/nupkg.zip


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Charlotte's Web

Charlotte's Web

E. B. White / Scholastic / 2004 / USD 0.01

This is the tale of how a little girl named Ferm, with the help of a friendly spider, saved her pig, Wilbur, from the usual fate of nice fat little pigs.一起来看看 《Charlotte's Web》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

SHA 加密
SHA 加密

SHA 加密工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具