前景:在開發學習階段希望一些重復使用代碼或者算法代碼積累。能夠在VS中下載安裝方便使用。
准備工作:
1.Nuget登錄賬號(可 Microsoft 賬號)。Nuget官網
2.Nuget.exe程序。下載地址:https://www.nuget.org/downloads,下載 windows x86 Commandline。
3.需要發布的c#類庫項目。
操作步驟:
1.在VS解決方案下待發布的類庫項目,Properties下AssemblyInfo.cs中設置類庫的基本信息。如版本號之類。請將項目配置設置為“發布”並重新生成項目以生成更新的 DLL
2.將Nuget.exe執行目錄設置為環境變量。方便在cmd中nuget直接使用。運行cmd CD到項目.csproj所在目錄
3.生成初始化清單,使用 nuget spec 命令從項目生成初始 .nuspec 文件。 會在.csproj文件所在目錄下生成TBW.Common.Lib4.nuspec文件。右鍵用記事本打開
nuget spec TBW.Common.Lib4.csproj
清單內容大致,修改version title authors owners copyright tags等節點的值:
<?xml version="1.0" encoding="utf-8"?> <package > <metadata> <id>$id$</id> <version>1.0.0</version> <title>TBW.Common.Lib4</title> <authors>TBW</authors> <owners>TBW</owners> <requireLicenseAcceptance>false</requireLicenseAcceptance> <license type="expression">MIT</license> <projectUrl>http://project_url_here_or_delete_this_line/</projectUrl> <iconUrl>http://icon_url_here_or_delete_this_line/</iconUrl> <description>$description$</description> <releaseNotes>Summary of changes made in this release of the package.</releaseNotes> <copyright>TBW 2020</copyright> <tags>TBW Common Lib4</tags> </metadata> </package>
4.運行pack命令,發布類庫包生成.nupkg文件。TBW.Common.Lib4.1.0.0.nupkg 文件格式為 項目名稱+清單版本號.nupkg。可在同級文件夾找到。
nuget pack TBW.Common.Lib4.1.0.0.nupkg 或者 nuget pack TBW.Common.Lib4.1.0.0.nupkg -Build -Properties Configuration=Release
5.上傳pack包,等待大概30分鍾構建包。即可在VS Nuget管理中搜索到。
另外一種 pack包的方式,通過nuget的api發布pack。
步驟一,登錄nuget官網。在右上角用戶中選擇 “API Keys”
步驟二,選擇“創建” ,提供密鑰名稱,選擇“選擇范圍”>“推送” 。 輸入“Glob 模式” *,然后選擇“創建” 。
步驟三,創建密鑰后,選擇“復制”,檢索需要在 CLI 中使用的訪問密鑰 :
復制密鑰截圖:
步驟四,執行nuget push命令 發布pack。命令結構:
nuget push -Source [庫的地址] -ApiKey [庫秘鑰] [待發布的nuget包位置]
nuget push TBW.Common.Lib4.1.0.1.nupkg 復制的密鑰 -Source https://api.nuget.org/v3/index.json
更新nuget發布的pack,操作步驟如下:
1.更新需發布pack包項目的基本信息。編輯生成出來的.nupkg文件版本號。例如,TBW.Common.Lib4.1.0.1.nupkg文件名.
2.執行 nuget delete 刪除舊版本pack。
nuget delete TBW.Common.Lib4 1.0.0 -Source https://api.nuget.org/v3/index.json -ApiKey 復制的密鑰
3.登錄nuget官網。upload上傳新的.nupkg文件.即可。
或 上傳方法二 使用nuget push命令,推送新包。
---------------------------------------------------發布更新包結束
其他常用cli命令:
nuget setApiKey 命令。此命令將 API 密鑰存儲在 NuGet 配置中,以便無需在同一台計算機上再次重復此步驟。
nuget setApiKey 復制的密鑰
可直接執行推送pack
nuget push TBW.Common.Lib4.1.0.0.nupkg -Source https://api.nuget.org/v3/index.json
關於nuget上manage packages 棄用包注意事項:
如果不再維護某個包,或者希望鼓勵該包的使用者移到其他包,可將此包棄用。
如下所示,包棄用與取消列出包不同 :
1.取消列出包會阻止它的發現,因為包會在搜索列表中隱藏 。
2.而棄用包可讓包的現有使用者了解其是否已在其項目中安裝或使用此包 。 它還讓使用者了解棄用原因以及你(包發布者)指定的備用推薦包。 棄用包后,包仍會列出。
作為包發布者,你可選擇同時棄用和取消列出包。