首页 > 编程语言 >C#/NET公共库项目,批量打Nuget包,并上传到私有包管理仓库

C#/NET公共库项目,批量打Nuget包,并上传到私有包管理仓库

时间:2023-03-17 17:23:38浏览次数:37  
标签:--- project C# csproj Nuget 文件夹 dotnet Path NET

参考文章:https://www.cnblogs.com/yilezhu/p/12591174.html

 

以下是目前个人使用的脚本:

与参考文章不同的是,每次打包完成一个项目即推送到包管理平台。

 

参考文件夹结构:

------nupkg(存放脚本 文件夹)

--- build_and_push_packages.ps1 (脚本文件)

------ solutionA(解决方案A 文件夹)

--- projectA (项目A 文件夹)

--- projectC (项目C 文件夹)

--- projectC (项目C 文件夹)

------ solutionB(解决方案B 文件夹)

--- projectA (项目A 文件夹)

--- projectC (项目C 文件夹)

--- projectC (项目C 文件夹)

 

# Paths
$packFolder = (Get-Item -Path "./" -Verbose).FullName
$rootFolder = Join-Path $packFolder "../"
$version = "1.0.6.8"
# List of solutions
$solutions = (
    "solutionA",
   "solutionB"
) # List of projects $projects = ( "solutionA/projectA", "solutionB/projectA" ) # Create all packages foreach($project in $projects) { $projectFolder = Join-Path $rootFolder $project # Create nuget pack Set-Location $projectFolder
   # 按需开启 #& dotnet clean $project.csproj -c release #& dotnet restore $project.csproj -c release #& dotnet build $project.csproj -c release & dotnet pack $project.csproj -c release -p:PackageVersion=$version # Copy nuget package $projectName = $project.Substring($project.LastIndexOf("/") + 1) $packagePath = Join-Path $projectFolder "bin/Release" Set-Location $packagePath    # 填写私有包管理器地址 并填入api-key & dotnet nuget push ($projectName + "." + $version + ".nupkg") -s http://0.0.0.0:8081/repository/nuget-hosted/ --api-key "aaaaaaaaa-aaaa-aaaaaaaaa-aaaaaaaaf6e4b" } # Go back to the pack folder Set-Location $packFolder

 

标签:---,project,C#,csproj,Nuget,文件夹,dotnet,Path,NET
From: https://www.cnblogs.com/souphm/p/17227572.html

相关文章

  • 关于C# Method.Invoke方式调用C++ COM
    折腾了两天,最终发现,无法实现。微软文档有说明:注解此方法用于从非托管代码访问托管类,不应从托管代码调用。有关详细信息,请参阅 IDispatch::Invoke。 MethodBase......
  • APP-FND-01388: Cannot read value for profile option CONC_KEEP_BLANK_FILES in rou
    执行“启动挑库发放”时出现,“APP-FND-01388:无法读取例程 &ROUTINE中配置文件选项CONC_KEEP_BLANK_FILES的值。””的错误。    未打印输出文件,因为:......
  • ASEMI代理瑞萨TW8825-LA1-CR汽车芯片
    编辑-ZTW8825-LA1-CR在单个封装中集成了创建多用途车载LCD显示系统所需的许多功能。它集成了高质量的2D梳状NTSC/PAL/SECAM视频解码器、三重高速RGBADC、高质量缩放器、......
  • ChatGpt怎么玩
    注册梯子先找好梯子,归属地最好是米国之类的,否则提示OpenAI'sservicesarenotavailableinyourcountry.注:最好用固定代理,如trojan-cconfig.json,多个......
  • 「解题报告」ARC130E Increasing Minimum
    想法大概差不多,但是确实不知道咋维护(考虑每次删最小值的过程,我们相当于先删掉所有最小值\(=1\)的位置,然后删所有最小值\(=2\)的位置,依次类推。那么我们可以将删除的......
  • hitcon_ctf_2019_one_punch
    hitcon_ctf_2019_one_punch在2.29及以后得版本中对unsordedbin的进行了双向链表检查,故unsortedbinattack就不可以再用了,不过tcachestashingunlinkattack可以达到......
  • Python地理分析库whitebox在Anaconda中的配置
      本文介绍在Anaconda环境下,安装Python中的一个高级地理空间数据分析库whitebox的方法。  首先,我们打开“AnacondaPrompt(Anaconda)”软件。  随后,将弹出如下所......
  • vue使用EasyPlayer.js显示H.265/HEVC格式的监控视频
    背景最近在写关于在pc页面上显示hls的m3u8格式的监控视频,vue常用的播放插件如vue-video-player或者videojs,只支持h264编码的视频,项目中返回的监控地址,显示的是h265编......
  • activity-程序活动单元
    Activity介绍activity是一个与用户交互的控件,主要来显示界面以及处理界面上一些控件的事件。Activity的生命周期启动,运行,暂停,停止,销毁生命周期方法oncreated:创建时......
  • centos7分区扩容(新增盘)
    新增⼀块60G硬盘,根分区及data分区各增加30G空间⼀、初始⼤⼩[root@localhost~]#df-ThFilesystemTypeSizeUsedAvailUse%Mountedondev......