使用dotnet Cli向nuget发布包
長話短說, 今天分享如何在nuget.org創建并發布.NET Standard package。
前置
安裝勾選.NET Core開發套件的Visual Studio; 安裝dotnet Cli
從VS2017開始,dotnet Cli已經自動在.NET開發套件中被安裝;使用SDK-style format(SDK屬性)的.NET Standard項目需要dotnet Cli;nuget.exe Cli用于非SDK樣式的項目(通常是.NET Framework)。
創建.NET Standard庫項目
配置package屬性
項目右鍵,選擇屬性--->打包
打包面板只會出現在VSSDK-style項目,典型如.NET Standard或者.NET Core庫項目。
構建時生成Nuget包:顧名思義,除打包命令,構建時也會自動生成nuget包;
標記:幫助其他人定位你的包,了解包的能力。
給package設定一個唯一id,并填寫其他屬性。注意這個package id需要在nuget.org全站唯一,我們建議你使用包前綴名來避免重復,比如:${UserName}.PackageName
打包
將配置改為Release
右鍵項目--> 打包
如果你沒有看到打包命令,你的項目可能不是SDk-style風格的項目,這是要使用 nuget.exe Cli(或者遷移到SDK-style項目,再使用dotnet Cli)。
Visual Studio構建項目并創建.nupkg文件,插看輸出窗體,獲取包文件的路徑。
發布包
有了.nupkg文件,你可以從nuget.org獲取一個API key(這個Key標記了你這個nuget賬戶),結合dotnet cli發布包。
獲取API Key
登陸nuget.org賬戶
點擊右上角你的賬戶名字,選擇API keys
創建---> 選擇范圍--> Push, 在Glob pattern填入*
一旦生成key,請盡早Copy并保存key,這個key將在dotnet Cli命令中用到
盡快保存你的key,如果你再次返回這個頁面,你需要重新生成key并Copy.
發布包
轉到包含.nupkg文件的目錄,執行下面命令
dotnet nuget push AppLogger.1.0.0.nupkg -k qz2jga8pl3dvn2akksyquwcs9ygggg4exypy3bhxy6w6x6 -s https://api.nuget.org/v3/index.json顯示如下結果:
info : Pushing AppLogger.1.0.0.nupkg to 'https://www.nuget.org/api/v2/package'... info : PUT https://www.nuget.org/api/v2/package/ info : Created https://www.nuget.org/api/v2/package/ 12620ms info : Your package was pushed.推送命令中的錯誤通常表明存在問題 , 如:
您可能忘記了更新項目中的版本號,而嘗試發布已經存在的軟件包。
您嘗試使用主機上已存在的標識符發布程序包時,也會看到錯誤:名稱“ AppLogger”已經存在。
如果您使用的是有效 API key,則此消息表示命名沖突,從以上錯誤的“權限”部分無法完全看出這一點。更改程序包標識符,重建項目,重新創建.nupkg文件,然后重試push命令。
其他一些包管理的操作,請在nuget包管理中心倒騰。
關注我們
更多技術干貨及#副業剛需#
請關注Dotnet Plus公眾號
▲
▲
“閱讀全文,體驗更佳”
總結
以上是生活随笔為你收集整理的使用dotnet Cli向nuget发布包的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 字符串太占内存了,我想了各种奇思淫巧对它
- 下一篇: 结合 AOP 轻松处理事件发布处理日志