分析及思路 來看一下項目目錄結構 炒雞正常的三板斧src+docs+tests。咦,怎麼會多出一個build的文件夾呢,這就是我們今天要研究的目錄。今天我會帶著大家在五分鐘之內編寫一個極簡的編譯腳本。 build內及其簡單 思路很明顯了:獲取當前腳本所在目錄=>獲取上一級目錄=>回到上一級(.sln ...
分析及思路
來看一下項目目錄結構
炒雞正常的三板斧src+docs+tests。咦,怎麼會多出一個build的文件夾呢,這就是我們今天要研究的目錄。今天我會帶著大家在五分鐘之內編寫一個極簡的編譯腳本。
思路很明顯了:獲取當前腳本所在目錄=>獲取上一級目錄=>回到上一級(.sln所在目錄)=>執行dotnet publish –c release
第一分鐘:瞭解基本的變數
1.$psscriptroot:當前腳本文件所在目錄,從Powershell3.0開始,有一個新的自動變數叫$PSScriptRoot,這個變數以前只存在模塊里,它能指向當前文件夾中的腳本的位置(準確的說在你運行腳本的時候它才有用)
2.變數定義:$代表var,$workspace={$workspace} 定義一個變數
第二分鐘:路徑變換的基本操作
1.split-path –parent {$path}
2.join-path {$path1} {$path2}
3.cd {$path}進入某目錄
第三分鐘:編寫腳本
1.獲取當前腳本所在目錄,為方便查看,有些變數我們可以向控制台輸出一下:
echo $psscriptroot
2.獲取上一級目錄,我們可以定義它為我們的工作目錄:
$workspace=split-path –parent $psscriptroot
3.回到上一級(.sln所在目錄)
cd $workspace
4.執行dotnet publish –c release
dotnet publish –c release
最終腳本如下:
echo $psscriptroot
$workspace=split-path -parent $psscriptroot
echo $workspace
cd $workspace
echo "releasing project..."
dotnet publish -c release
最後
powershell 作為一種腳本語言,他可能比多數腳本語言都要強大。作為windows的日常使用者,瞭解並使用它,一定會讓我們日常的工作事半功倍!
最後貼出 自動打包類庫併發布到nuget.org的例子給大家參考一下: