亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

使用批處理腳本自動生成并上傳NuGet包(操作方法)

 更新時間:2019年11月19日 08:57:54   作者:TANZAME  
這篇文章主要介紹了使用批處理腳本自動生成并上傳NuGet包的操作方法,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下

  Hello 大家好,我是TANZAME,我們又見面了。

  NuGet是什么這里就不再重復啰嗦,園子里一搜一大把。今天要跟大家分享的是,在日常開發(fā)過程中如何統(tǒng)一管理我們的包,如何通過批處理腳本生成包并自動上傳到 NuGet。在實際項目開發(fā)過程中我們要上傳自己的包,一般的步驟都是:nuget spec => nuget pack => nuget push,一個包都要至少重復三個動作,如果有 N個包那就要重復 N*3次,想想都不能忍,所以便有了今天的分享主題。

生成目錄

  既然是統(tǒng)一管理,生成的包自然是放在同一個文件夾,而不是分散在各個 .proj目錄里。這里我們在解決方案所在目錄新建一個目錄,這樣做的目的是方便 bat腳本找到解決方案下面的子項目。比如我這里新建的是 .nuget這個目錄,需要注意的是如果目錄名稱有特殊字符的話不能直接右鍵新建,需要用命令提示符,直接在解決方案所在目錄使用快捷鍵 SHIFT +右鍵就能直接打開命令提示符,這樣可以省去一大堆 cd的操作。

下載 NuGet

  到 NuGet 官網(wǎng)下載命令行接口(CLI)。nuget.exe提供了完整的 nuget 功能, 可用于安裝、創(chuàng)建、發(fā)布和管理包, 而無需對項目文件進行任何更改。

  • 請訪問nuget.org/downloads,并選擇 NuGet 3.3 或更高版本(2.8.6 與 Mono 不兼容)。始終建議使用最新版。若要將包發(fā)布到 nuget.org,版本至少必須是 4.1.0。
  • 每次下載都直接下載nuget.exe文件。讓瀏覽器將文件保存到選定文件夾。此文件不 是安裝程序;如果直接在瀏覽器中運行,就不會看到任何內容。
  • 將文件夾添加到nuget.exe中放置 PATH 環(huán)境變量的位置,這樣就可以從任意位置使用 CLI 工具。這里我們把它放在上一步新建的 .nuget文件夾下面,并設置 PATH環(huán)境變量。

生成清單

  .nuspec文件是包含包元數(shù)據(jù)的 XML 清單, 此清單同時用于生成包以及為使用者提供信息。這個清單文件我們只需要生成一次,以后都不需要再重新生成。.net Core 和使用sdk 特性.NET Standard 項目不需要 .nuspec 文件,如果是.net Core 和使用sdk 特性.NET Standard 項目則忽略此步驟。轉到項目所在目錄,SHIFT +右鍵調出命令提示符,輸入 nuget spec命令即可生成我們所需要的包元數(shù)據(jù)清單。

  將這個清單文件剪切到第一步新建的 .nuget文件夾,剪切過去后項目下面就不會憑空多出一個文件,看著清爽多了。然后做一下調整填入我們自己項目的相關信息, 比如像下面這樣:

<?xml version="1.0" encoding="utf-8"?>
<package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd">
 <metadata>
 <id>TZM.XFramework</id>
 <version>$version$</version>
 <title>$title$</title>
 <authors>$author$</authors>
 <owners>$author$</owners>
 <license type="expression">Apache-2.0</license>
 <projectUrl>https://github.com/TANZAME/TZM.XFramework</projectUrl>
 <iconUrl>http://go.microsoft.com/fwlink/?LinkID=386613</iconUrl>
 <description>TZM.XFramework is a lightweight and high performance object-relational mapper for .NET use the original Entity Framework api.</description>
 <copyright>Copyright 2019</copyright>
 <tags>.NET SqlServer MSSQL Database Data O/RM ADO.NET</tags>
 <repository type="git" url="https://github.com/TANZAME/TZM.XFramework" />
 <dependencies />
 <frameworkAssemblies>
  <frameworkAssembly assemblyName="System.Data"/>
  <frameworkAssembly assemblyName="System.ComponentModel.DataAnnotations"/>
  <frameworkAssembly assemblyName="System.Net.Http"/>
 </frameworkAssemblies>
 </metadata>
</package>

編寫腳本

  在第一步新建的文件夾里新建一個 bat文件,重命名為 package.bat,接下來編寫我們的自動腳本。完整 bat腳本戳這里,直接上代碼片段。

  • 這里我設置 nuget pack 包屬性為Release,并且不自動生成,所以需要先在 Release 模式下編譯完成再運行腳本。加上 -Build 參數(shù)的話輸出的信息太多看得賊難受,這里把它去掉,我們自己手動編譯。
  • 填充api_key。去 nuget 官網(wǎng) 登錄自己的帳號并創(chuàng)建一個 key,復制粘貼到 api_key 變量。
  • 注意 .net framework 項目(fx)和 .net core 項目使用的命令不一樣至此我們所有的準備步驟都已完成,雙擊 package.bat 運行腳本,解放雙手。
@echo off
set api_key=xxxxxxlef2j57rw4q26qcrvycvznyvcurgfxbzxxxxxxxx
set source_api_uri=https://api.nuget.org/v3/index.json
set startup_dir=%~dp0
cd ..\
set startup_dir=%cd%
cd .nuget
:: 打包 TZM.XFramework -Build
echo pack TZM.XFramework
copy TZM.XFramework.nuspec %startup_dir%\net45\TZM.XFramework
nuget pack %startup_dir%\net45\TZM.XFramework\TZM.XFramework.csproj -Properties Configuration=Release
del %startup_dir%\net45\TZM.XFramework\TZM.XFramework.nuspec
echo=
:: 打包 TZM.XFrameworkCore
echo pack TZM.XFrameworkCore
dotnet pack --no-build --configuration Release --output %startup_dir%\.nuget\ %startup_dir%\netcore\TZM.XFrameworkCore\TZM.XFrameworkCore.csproj

:: 批量推送包
for /R %cd% %%f in (*.nupkg) do ( 
echo=
dotnet nuget push %%f -k %api_key% -s %source_api_uri%
)
echo=
pause

  最后貼一張最終運行的效果圖:

總結

 通過這個腳本,我們可以在一個文件夾里統(tǒng)一管理我們的包,做到一鍵生成、上傳同時保持項目文件的清爽,嗯簡直不要太方便 ~..~

  參考資料:https://docs.microsoft.com/zh-cn/nuget/

以上所述是小編給大家介紹的使用批處理腳本自動生成并上傳NuGet包,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!

相關文章

  • 簡單的Python2.7編程初學經(jīng)驗總結

    簡單的Python2.7編程初學經(jīng)驗總結

    這篇文章主要是作者寫給Python2.7編程初學者的經(jīng)驗總結,側重于包管理、代碼調試等實際使用方面,需要的朋友可以參考下
    2015-04-04
  • python?字符串常用方法超詳細梳理總結

    python?字符串常用方法超詳細梳理總結

    字符串是Python中基本的數(shù)據(jù)類型,幾乎在每個Python程序中都會使用到它。本文為大家總結了Python中必備的31個字符串方法,需要的可以參考一下
    2022-03-03
  • Python批量實現(xiàn)word中查找關鍵字的示例代碼

    Python批量實現(xiàn)word中查找關鍵字的示例代碼

    本文主要介紹了Python批量實現(xiàn)word中查找關鍵字的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-07-07
  • python基礎:面向對象詳解

    python基礎:面向對象詳解

    這篇文章主要介紹了Python面向對象的相關內容,如果您想對Python編程的基礎部分有所了解,這篇文章是值得一看的,需要的朋友可以參考下。
    2021-10-10
  • Python3.10中match-case的用法和示例詳解

    Python3.10中match-case的用法和示例詳解

    在?Python?3.10?中引入了新的?match-case?語法,它是一種用于模式匹配的結構,下面小編就來和大家簡單聊聊match-case的用法和示例吧,有需要的小伙伴可以參考下
    2023-10-10
  • python中@Property屬性使用方法

    python中@Property屬性使用方法

    這篇文章主要介紹了python中@Property屬性使用方法,在Python中,可以通過@property裝飾器將一個方法轉換為屬性,從而實現(xiàn)用于計算的屬性,下面文章圍繞主題展開更多相關詳情,感興趣的小伙伴可以參考一下
    2022-06-06
  • Python編程使用*解包和itertools.product()求笛卡爾積的方法

    Python編程使用*解包和itertools.product()求笛卡爾積的方法

    這篇文章主要介紹了Python編程使用*解包和itertools.product()求笛卡爾積的方法,涉及Python列表轉換及itertools.product()求笛卡爾積相關操作技巧,需要的朋友可以參考下
    2017-12-12
  • Python中綁定與未綁定的類方法用法分析

    Python中綁定與未綁定的類方法用法分析

    這篇文章主要介紹了Python中綁定與未綁定的類方法用法,結合實例形式分析了未綁定的類方法與綁定的實例方法相關使用技巧,需要的朋友可以參考下
    2016-04-04
  • 基于python實現(xiàn)可視化生成二維碼工具

    基于python實現(xiàn)可視化生成二維碼工具

    這篇文章主要介紹了基于python實現(xiàn)可視化生成二維碼工具,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-07-07
  • Python實現(xiàn)PDF頁面的刪除與添加功能

    Python實現(xiàn)PDF頁面的刪除與添加功能

    在處理PDF文檔的過程中,我們時常會需要對PDF文檔中的頁面進行編輯操作的情況,如插入和刪除頁面,通過添加和刪除PDF頁面,我們可以增加內容或對不需要的內容進行刪除,本文將介紹如何使用Python代碼實現(xiàn)在PDF文檔中添加和刪除頁面
    2024-04-04

最新評論