Nuget多项目批量打包上传服务器的简明教程
本篇不會介紹Nuget是什么,如何打包上傳Nuget包,怎么搭建私有Nuget服務器。這些問題園子里都有相應的文章分享,這里不做過多闡述。另外本文假設你已經下載了Nuget.exe,并且已經設置好了環境變量。什么?你還不會?那你先去百度配置好后再來看這篇文章吧。[nuget下載](https://dist.nuget.org/win-x86-commandline/latest/nuget.exe)
實際項目中,我們可能一個解決方案下面會有N多個項目,每次發布這N多個項目都會使用統一的版本號一起發布到Nuget服務器。搜索了很久沒找到一個好的方式,好在參考了abp vnext的打包方法實現了這個需求。因此分享下,希望對有需要的人有所幫助。
作者:依樂祝
原文地址:https://www.cnblogs.com/yilezhu/p/12591174.html
首先看下圖,每個腳本的作用我進行了注釋,稍后我們再做進一步的詳細闡述。在具體批量發布的時候,只需要先執行下pack.ps1腳本,然后再執行下push_packages.ps1腳本即可。當然還有一些參數需要根據你的項目來進行修改的。不過你不用擔心,只需要按照下面步驟進行即可。
image-20200329100147560
第一步,在common.ps1中配置我們的解決方案以及項目路徑
我們把$solutions這個變量中的內容替換成我們的解決方案的相對路徑。比如:解決方案在E:\abp\abp\framework這個路徑,我們的腳本文件在E:\abp\abp\nupkg這個路徑,那么我們就可以配置framework這個值就可以了。
image-20200329101445573
第二步,pack.ps1這個腳本基本不需要修改,這里只是進行下代碼的解釋
這里首先引入第一步的common.ps1腳本文件(因為需要用到上面定義的變量)
循環遍歷$solutions變量,找到所有的解決方案,并執行dotnet restore
這里才是打包的核心代碼,遍歷$projects并執行打包過程,然后把生成的nupkg文件拷貝到腳本所在的目錄。
image-20200329102000346
第三步,push_packages.ps1腳本文件打包上傳到服務器
這里首先引入第一步的common.ps1腳本文件(因為需要用到上面定義的變量)
從根目錄下獲取common.props文件中獲取對應的版本號,并推送對應版本號的nupkg到服務器
注意:common.props文件需要你自行添加,這里面可以定義csproject文件所需要的一些變量
循環common.ps1腳本中的$projects,并執行推送過程。
最后修改 下你自己的--api-key(Nuget管理的密鑰)以及-s(包源,如果你是自己搭建的私有nuget服務器,則這里需要替換成私有nuget服務器地址)
image-20200329102832869
第四步,執行上傳操作
進入到你的上面三個腳本的目錄,Shift+鼠標右鍵,選擇在此處打開powershell打開powershell命令窗口
依次執行下.\pack.ps1,push_packages.ps1腳本即可。
這里你在執行powershell腳本的時候可能會報如下的錯誤
image-20200329103723580
這是由于操作系統默認禁止執行腳本,需要以管理員身份執行一次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
往期精彩回顧
【推薦】.NET Core開發實戰視頻課程?★★★
.NET Core實戰項目之CMS 第一章 入門篇-開篇及總體規劃
【.NET Core微服務實戰-統一身份認證】開篇及目錄索引
Redis基本使用及百億數據量中的使用技巧分享(附視頻地址及觀看指南)
.NET Core中的一個接口多種實現的依賴注入與動態選擇看這篇就夠了
10個小技巧助您寫出高性能的ASP.NET Core代碼
用abp vNext快速開發Quartz.NET定時任務管理界面
現身說法:實際業務出發分析百億數據量下的多表查詢優化
關于C#異步編程你應該了解的幾點建議
C#異步編程看這篇就夠了
給我好看 您看此文用??·?秒,轉發只需1秒呦~ 好看你就點點我總結
以上是生活随笔為你收集整理的Nuget多项目批量打包上传服务器的简明教程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何让Docker镜像飞起来
- 下一篇: 如何用 Blazor 实现 Ant De