真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Nuget多平臺多目標(biāo)如何快速自動打包

Nuget 多平臺多目標(biāo)如何快速自動打包,針對這個問題,這篇文章詳細(xì)介紹了相對應(yīng)的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

作為一家“創(chuàng)意+整合+營銷”的成都網(wǎng)站建設(shè)機構(gòu),我們在業(yè)內(nèi)良好的客戶口碑。創(chuàng)新互聯(lián)提供從前期的網(wǎng)站品牌分析策劃、網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè)、成都網(wǎng)站制作、創(chuàng)意表現(xiàn)、網(wǎng)頁制作、系統(tǒng)開發(fā)以及后續(xù)網(wǎng)站營銷運營等一系列服務(wù),幫助企業(yè)打造創(chuàng)新的互聯(lián)網(wǎng)品牌經(jīng)營模式與有效的網(wǎng)絡(luò)營銷方法,創(chuàng)造更大的價值。

構(gòu)建現(xiàn)代的 .Net 應(yīng)用離不開 Nuget 的支持,而快速打包 Nuget 成了提高生產(chǎn)率的有效方法。

1. 前置條件

為了實現(xiàn) Nuget 的快速打包,我們需要先解決一些前置依賴,無論是 .Net Framework、Mono 或者 .Net Standard(.Net Core),我們都需要先編譯通過,然后再打包成 Nuget 包,最后再發(fā)布到 Nuget 服務(wù)器上。

相關(guān)目標(biāo) (支持平臺以及依賴):

  • .Net Framework (僅 Windows) : MSBuild.exe、Nuget.exe

  • Mono (跨平臺) : mono、xbuild、Nuget.exe

  • .Net Standard (跨平臺) : dotnet sdk

由于大多數(shù)人還是在 Windows 上開發(fā),所以我下面的教程會以 Windows 為標(biāo)準(zhǔn),并旁敲側(cè)推到其他平臺。

2. 快速打包示例

2.1 Visual Studio 中快速打包

在 Visual Studio 中要實現(xiàn) Nuget 的快速打包主要是借助 Visual Studio 自帶的外部工具。在實戰(zhàn)之前,我們要確保依賴都滿足了。因為已經(jīng)安裝了 Visual Studio ,所以默認(rèn)是已經(jīng)安裝了 MSBuild 和 Nuget 了。

其次,為了讓自動打包的腳本的字符串盡量節(jié)省空間,我們會盡量將對應(yīng)的依賴加到系統(tǒng)環(huán)境變量的 Path 路徑中。一般而言,Msbuild 是在 Visual Studio 安裝目錄下的 Msbuild 目錄中,如下圖所示,在我本機地址是 "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\15.0\Bin\amd64" ,Nuget 最好是另外放置,例如我就把它放到了 "D:\tools" 目錄中。

Nuget 多平臺多目標(biāo)如何快速自動打包

如果你足夠細(xì)心,可以發(fā)現(xiàn)安裝完 .Net Core 的 SDK 后,默認(rèn)已經(jīng)加到了系統(tǒng)的環(huán)境變量中了( Mono 也是如此)。

然后我們使用 Visual Studio 打開對應(yīng)的項目,點擊菜單欄中 " 工具 - 外部工具 ",添加我們自定義的自動打包發(fā)布腳本。

Nuget 多平臺多目標(biāo)如何快速自動打包

如上圖所示,這里使用的是 powershell.exe,如果提示找不到 powershell.exe,同樣是將路徑添加到系統(tǒng)環(huán)境變量的 path 中。至于參數(shù),可以是一個ps腳本文件,也可以是執(zhí)行腳本語句,在這里使用腳本語句。初始目錄選中 "目標(biāo)目錄" 或者 "項目目錄"都可以。

從上圖中,可以看出區(qū)分了目標(biāo)構(gòu)建,這里分布展示 .Net Framework 和 .Net Standard 的構(gòu)建腳本,其中 .Net Framework 類似這樣:

del *.nupkg ; $roj=dir *.csproj ;msbuild $roj; nuget pack $roj ; $nupkg= dir *.nupkg; nuget.exe push $nupkg nugetpassword -Source http://192.168.9.1/nuget

而 .Net Standard 則是:

del *.nupkg ; dotnet build ;dotnet pack --output  $pwd;$nupkg= dir *.nupkg; dotnet nuget push  $nupkg nugetpassword -Source http://192.168.9.1/nuget

至于運行在非 Windows 上的 Mono 則可能是:

rm *.nupkg ; $roj= *.csproj ;xbuild $roj; $ver= date -d yesterday +%Y%m%d%H%M;nuget pack $roj -Suffix $ver; $nupkg=  *.nupkg; mono nuget.exe push $nupkg nugetpassword -Source http://192.168.9.1/nuget

他們共同的特征都是先刪除當(dāng)前路徑的 nupkg 的文件,然后編譯、打包、發(fā)布。(如果你沒有私有的Nuget服務(wù)器,可以參考我另外一篇文章)

在這個基礎(chǔ)上可以做更多的擴展,比如發(fā)布測試版本,就在原來的基礎(chǔ)上添加后綴,如:

del *.nupkg ; $roj=dir *.csproj ;msbuild $roj; $ver=\"beta-\"+(Get-Date).ToString(\"yyyyMMddHHmm\");nuget pack $roj -Suffix $ver; $nupkg= dir *.nupkg; nuget.exe push  $nupkg nugetpassword -Source http://192.168.9.1/nuget

編寫好自定義的外部工具后,以后每次打包發(fā)包都可以按一下按鈕就運行了。

2.2 VSCode

VSCode 是另外一個受人歡迎的代碼編輯器,目前不支持 Visual Studio 中的外部工具功能 (如果有,請告訴我),也沒有擴展支持直接發(fā)布 Nuget 包,但是這并不妨礙我們實現(xiàn)快速自動打包并發(fā)布 Nuget 包。

VSCode 中一個有力的功能就是任務(wù)功能,我們可以通過執(zhí)行任務(wù)來實現(xiàn)同樣的效果。
Nuget 多平臺多目標(biāo)如何快速自動打包

2.3 文件夾右鍵菜單

有時候我們可能需要脫離 ide 來執(zhí)行腳本,這個時候文件夾右鍵菜單就顯得十分高效了。

Nuget 多平臺多目標(biāo)如何快速自動打包

具體的操作是修改 windows 的注冊表,具體可以參考windows 下如何修改右鍵菜單 一文。

Nuget 多平臺多目標(biāo)如何快速自動打包

關(guān)于Nuget 多平臺多目標(biāo)如何快速自動打包問題的解答就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識。


網(wǎng)站標(biāo)題:Nuget多平臺多目標(biāo)如何快速自動打包
文章起源:http://weahome.cn/article/gseodo.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部