Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Nuget多项目批量打包上传服务器的简明教程

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

作者头像
依乐祝
发布于 2020-04-02 10:16:12
发布于 2020-04-02 10:16:12
1.6K0
举报
文章被收录于专栏:依乐祝依乐祝

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

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

作者:依乐祝 原文地址:https://cloud.tencent.com/developer/article/1608810

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

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

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

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

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

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

  1. 这里首先引入第一步的common.ps1脚本文件(因为需要用到上面定义的变量)
  2. 从根目录下获取common.props文件中获取对应的版本号,并推送对应版本号的nupkg到服务器 注意:common.props文件需要你自行添加,这里面可以定义csproject文件所需要的一些变量
  3. 循环common.ps1脚本中的$projects,并执行推送过程。
  4. 最后修改 下你自己的--api-key(Nuget管理的密钥)以及-s(包源,如果你是自己搭建的私有nuget服务器,则这里需要替换成私有nuget服务器地址)

第四步,执行上传操作

  1. 进入到你的上面三个脚本的目录,Shift+鼠标右键,选择在此处打开powershell打开powershell命令窗口
  2. 依次执行下.\pack.ps1push_packages.ps1脚本即可。
  3. 这里你在执行powershell脚本的时候可能会报如下的错误

这是由于操作系统默认禁止执行脚本,需要以管理员身份执行一次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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-03-31 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
dotnet 配置 github 自动打包上传 nuget 文件
在上一篇博客告诉小伙伴如何使用 github 做持续集成,本文告诉大家如何配置 github 让在 master 每次合并都会自动创建一个 nuget 文件,自动上传
林德熙
2019/12/12
1.2K0
dotnet 配置 github 自动打包上传 nuget 文件
使用批处理根据项目工程文件生成Nuget包并发布(支持.NET Core)
最近在使用之前自己编写的批处理给.NET Core项目打包时出问题了,发现之前的脚本根本不适用了,折腾了半天,总算解决了。因此在这里分享下经验,并且奉上整理好的脚本。
雪雁-心莱科技
2018/12/27
6430
win10 uwp 上传Nuget 让别人用我们的库 Nuget下载打包Nuget上传命令行使用Nuget
我们的开发经常使用别人的dll,那么我们需要每次都从网上下载,然后复制到我们的项目, 而不知道我们的dll是否安全? 当我们的库更新的时候,我们又需要从网上搜索,这样不好,于是我们就用Nuget,Nuget可以 让我们把我们做出来的东西发在网上让别人下载,需要搜索名称就可以下载,然后更新会通知 本文主要讲我们如何制作一个库上传Nuget,让别人可以使用,做法很简单,先下载软件后制作,上传。
林德熙
2018/09/18
9820
win10 uwp 上传Nuget 让别人用我们的库
            Nuget下载打包Nuget上传命令行使用Nuget
C# 搭建自己的NuGet服务器,上传自定义NuGet包
以上就成功部署了自己的NuGet服务器了。关于.nupkg文件其实就是程序的安装包压缩文件,它包含了程序包的版本信息,dll及相关的外部依赖,NuGet安装包时会进行自动解压。因此上传至NuGet服务器Packages目录的只需要.nupkg文件。
zls365
2021/04/23
1.8K0
C# 搭建自己的NuGet服务器,上传自定义NuGet包
nuget服务器搭建,以及如何发布一个Nuget包
一、本地dll如何打包,以及版本的更新 本小节主要介绍两种方式将本地dll打包为Nuget包, 1.1 利用nuget.exe进行打包(应用于.net framework) 1. 下载nuget.ex
sam dragon
2018/01/17
4.6K0
nuget服务器搭建,以及如何发布一个Nuget包
GitHub Actions 自动构建 并发布到 NuGet
这样是 或 的关系, 只要满足 branches 为 main 或者 tags 为 PluginCore-v* 就会触发
yiyun
2022/04/01
3640
.net 知新:【4】NuGet简介和使用
在包管理以前我们在项目中引用第三方包通常是去下载dll放到项目中再引用,后来逐渐发展成各种包管理工具,nuget就是一种工具,适用于任何现代开发平台的基本工具可充当一种机制,通过这种机制,开发人员可以创建、共享和使用有用的代码。 通常,此类代码捆绑到“包”中,其中包含编译的代码(如 DLL)以及在使用这些包的项目中所需的其他内容。 Linux 我们可以使用apt、yum来安装软件,js 可以使用npm来搭建下载,Java 有maven管理包,而对于.net nuget就是同样效果和机制的工具。
SpringSun
2021/08/13
2.3K0
.net 知新:【4】NuGet简介和使用
如何使用Powershell操作FTP进行数据文件自动上传备份
[TOC] 0x00 前言简述 描述: 在运维过程中会将服务器上数据文件备份在共享磁盘或者FTP服务器中,此处由于作者环境是在Windows系统上,且在业务上需要同步文件到FTP服务器中,遂有了此文,
全栈工程师修炼指南
2023/03/21
3.4K0
如何使用Powershell操作FTP进行数据文件自动上传备份
打包dll发布到nuget服务器
几个月前上传过一次nuget包,结果好久不用,今天想更新下,完全忘记了怎么用了,又是一顿查,所以决定记录下来,当然这可能不是一个傻瓜式的教程,但聪明的你们应该能够看明白的,因为整体操作还是很简单的 好了,让我们开始吧 创建类库 首先创建一个类库,就是你想要发布到nuget的类库,在AssemblyInfo.cs编辑程序集版本信息,重新生成,好了,这一步就完成了,哈哈哈 下载并注册nuget nuget地址:https://www.nuget.org/ 你需要在这个网站注册一个账号,期间会有邮箱验证,验证成
蓝夏
2018/06/21
2.1K0
dotnet 配合 GitHub 的 Action 做自动推 Tag 时打包 NuGet 包
被微软收购的 GitHub 越来越好用,拥有大量免费的工具资源和构建服务器资源,再加上私有项目的无限制使用,我有大量的项目都在向 GitHub 迁移。通过 GitHub 的 Action 的自动构建,可以用上微软土豪的服务器资源,进行自动化测试和构建。对于 CBB 来说,发布就是打出 NuGet 包然后上传到内部 NuGet 服务器。此时遇到的问题是,如何在 GitHub 上执行打包,打包的时候如何指定 NuGet 包的版本号。因为 CBB 的特殊性,我要求每个 NuGet 正式发布的包都应该有一个对应的 Tag 号,这样将 NuGet 库安装到项目里面,之后发现问题了还能找到对应版本的代码
林德熙
2021/04/28
1K0
dotnet 配合 GitHub 的 Action 做自动推 Tag 时打包 NuGet 包
NuGet的使用和服务搭建
   最近部门,在开发的时候遇到一个问题,现在有项目A B C三个项目,项目B和C分别提供了组件库由项目A直接引用。那么每次开打项目A获取最新后,同时还得打开项目B C获取最新然后编译一次。抛开设计方面的问题,假如以后还多了项目E F G,引用和被引用,那么打开一个项目想编译一次,还得同时打开N个项目。当时把问题反馈后,有人建议使用NuGet。
陈珙
2018/09/12
1.4K0
NuGet的使用和服务搭建
十分钟搭建自己的私有NuGet服务器-BaGet
通常使用NuGet都是官方的服务,但你有没有想过搭建自己的NuGet呢?在私有的NuGet上托管一些自己的类库,公司内部的类库等。。。搭建私有NuGet的方法有很多,比如NuGet.Server、ProGet、MyGet等等。本文使用的是BaGet,搭建过程也非常简单,下面进入正题。
xhznl
2020/08/14
1.4K0
神器 | windows包管理工具
在类Unix系统中,我们可以使用例如port、apt-get、yum此类包管理工具,对应用进行快速便捷的安装。在Windows平台,通过chololate,我们同样可以做到通过一条命令完成应用及依赖项的安装。
我的小碗汤
2018/10/18
3.1K0
神器 | windows包管理工具
一篇适合躺收藏夹的 Nexus3 搭建 NuGet&Docker 私有库的安装使用总结
创建数据挂载目录并赋予权限:以 UID 200 的形式运行 mkdir ./data && chown -R 200 ./data
易墨
2023/11/08
5.5K0
一篇适合躺收藏夹的 Nexus3 搭建 NuGet&Docker 私有库的安装使用总结
NuGet 符号服务器
在新的 VisualStudio 支持使用 NuGet 符号服务器,可以支持新的 Portable PDB 调试符号的库,本文告诉大家如何打包上传带符号的库和使用符号服务器
林德熙
2022/08/04
5300
使用 Ansible 批量管理 Windows
Ansible是自动化运维工具,基于Python开发,实现了批量系统配置、批量程序部署、批量运行命令等功能。Ansible是基于模块(module)和剧本(playbook)工作。
东风微鸣
2022/04/21
3.9K0
使用 Ansible 批量管理 Windows
手动搭建自己的nuget服务器及使用
但是,如果我们想在我们的私有nuget服务器上有这个包,我们还需要把.nuget文件传到我们私有nuget服务器上;
Vincent-yuan
2019/09/11
4.3K0
手动搭建自己的nuget服务器及使用
NuGet 符号服务器
在新的 VisualStudio 支持使用 NuGet 符号服务器,可以支持新的 Portable PDB 调试符号的库,本文告诉大家如何打包上传带符号的库和使用符号服务器
林德熙
2019/06/15
1.3K0
如何给 CI CD 服务器搭建上 .NET 5 构建和运行环境
在 2020.11.10 官方正式发布了 .NET 5 正式版。而我花了一周的时间进行踩坑和预研,本文将告诉大家如何在自动化服务器上搭建 dotnet 5 的构建和运行环境
林德熙
2020/11/23
1K0
如何给 CI CD 服务器搭建上 .NET 5 构建和运行环境
Windows 10 包管理
很长时间没摸 windows 了, 发现自己居然 out 了,windows 也有类似 mac 的 brew 包管理器,
chuchur
2022/10/25
1.6K0
推荐阅读
相关推荐
dotnet 配置 github 自动打包上传 nuget 文件
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档