流程自動化RPA,Power Automate Desktop系列 - DotNet Core打包並發布Nuget Package


一、背景

DotNet Core通常基於Nuget來實現包管理,如果你想要把自己的實現共享給其他人,通常我們需要把本地項目打包好,然后發布到對應的Nuget Server上,以便於其他人可以查找、安裝、升級。

二、創建流任務

創建名為打包並發布Nuget Package的流任務。

三、添加主流程

3.1 直接就用主流程,或者新建名為PackAndPublishNuget的子流程

0. 概覽

1. 顯示選擇文件夾對話框,描述為"請選擇要打包的項目目錄",彈窗交互選擇需要打包的項目文件夾,存儲結果在變量PackageProjectDirPath中。

如果常用位置,可以設置初始文件夾位置,以免每次都選來選去。

2. 執行PowerShell腳本來執行打包,執行指定項目打包命令,這個動作我們命名為PackTargetProject

cd %PackageProjectDirPath%
dotnet pack -c Release

這里切換到項目文件夾目錄,然后執行DotNet CLI自帶的命令來執行dotnet pack打包動作,其中-c Release就是指定打Release模式的包。

3. 設置變量,變量名為PackageFileDir,用來組裝Nuget包所在目錄。

該路徑應該是組裝了PackageProjectDirPath和生成的Nuget包的項目目錄路徑。

%PackageProjectDirPath%\bin\Release

4. 獲取文件夾中的文件,從PackageFileDir中提取目錄中的最新Nuget

我們需要通過獲取文件夾中的文件這個操作針對PackageFileDir目錄,提取其中*.nupkg格式的文件,得到一個名為NugetPackageFiles的變量,並且按文件的上次修改時間進行倒序排序,以便后續篩選,因為通常我們新打的包的修改日期是最新的。

%PackageFileDir%
*.nupkg

5. 設置變量,變量名為PackageFilePath,用來提取最新一個Nuget包路徑。

我們只需要提取列表的第一個元素就可以得到PackageFilePath變量。

%NugetPackageFiles[0]%

6. 獲取文件路徑部分,從PackageFilePath提取帶后綴文件名,存儲結果在PakcageFileName

在最終的Nuget命令中我們會需要Nuget包帶后綴文件名這么一個東西,那么我們可以通過獲取文件路徑部分操作來得到PakcageFileName變量。

%PackageFilePath%

7. 設置變量,變量名為NugetServerAuthKey,用來存儲Nuget服務器的授權密鑰。

8. 設置變量,變量名為NugetServerUrl,用來存儲Nuget服務器的網絡地址。

9. 運行PowerShell腳本,來執行最終的Nuget包上傳命令,這個動作我們命名為UploadPackageFile

cd %PackageFileDir%
dotnet nuget push %PakcageFileName% --api-key %NugetServerAuthKey% --source %NugetServerUrl%

先切換到PackageFileDir目錄,然后執行DotNet CLI自帶的命令來執行dotnet nuget push推送動作,推送到我們指定的Nuget服務節點即可。

這里注意,如果你推送的Nuget包版本服務器已存在,它也會執行成功哈。

測試驗證

Power Automate Desktop/RPA 愛好者交流群

image


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM