日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用dotnet Cli向nuget发布包

發(fā)布時(shí)間:2023/12/4 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用dotnet Cli向nuget发布包 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

長話短說, 今天分享如何在nuget.org創(chuàng)建并發(fā)布.NET Standard package。

前置

  • 安裝勾選.NET Core開發(fā)套件的Visual Studio; 安裝dotnet Cli

  • 從VS2017開始,dotnet Cli已經(jīng)自動(dòng)在.NET開發(fā)套件中被安裝;使用SDK-style format(SDK屬性)的.NET Standard項(xiàng)目需要dotnet Cli;nuget.exe Cli用于非SDK樣式的項(xiàng)目(通常是.NET Framework)。

  • 創(chuàng)建.NET Standard庫項(xiàng)目

  • 配置package屬性

  • 項(xiàng)目右鍵,選擇屬性--->打包
    打包面板只會(huì)出現(xiàn)在VSSDK-style項(xiàng)目,典型如.NET Standard或者.NET Core庫項(xiàng)目。

  • 構(gòu)建時(shí)生成Nuget包:顧名思義,除打包命令,構(gòu)建時(shí)也會(huì)自動(dòng)生成nuget包;
    標(biāo)記:幫助其他人定位你的包,了解包的能力。

  • 給package設(shè)定一個(gè)唯一id,并填寫其他屬性。注意這個(gè)package id需要在nuget.org全站唯一,我們建議你使用包前綴名來避免重復(fù),比如:${UserName}.PackageName

  • 打包

  • 將配置改為Release

  • 右鍵項(xiàng)目--> 打包

  • 如果你沒有看到打包命令,你的項(xiàng)目可能不是SDk-style風(fēng)格的項(xiàng)目,這是要使用 nuget.exe Cli(或者遷移到SDK-style項(xiàng)目,再使用dotnet Cli)。

  • Visual Studio構(gòu)建項(xiàng)目并創(chuàng)建.nupkg文件,插看輸出窗體,獲取包文件的路徑。

  • 發(fā)布包

    有了.nupkg文件,你可以從nuget.org獲取一個(gè)API key(這個(gè)Key標(biāo)記了你這個(gè)nuget賬戶),結(jié)合dotnet cli發(fā)布包。

    獲取API Key

  • 登陸nuget.org賬戶

  • 點(diǎn)擊右上角你的賬戶名字,選擇API keys

  • 創(chuàng)建---> 選擇范圍--> Push, 在Glob pattern填入*

  • 一旦生成key,請(qǐng)盡早Copy并保存key,這個(gè)key將在dotnet Cli命令中用到

  • 盡快保存你的key,如果你再次返回這個(gè)頁面,你需要重新生成key并Copy.

    發(fā)布包

    轉(zhuǎn)到包含.nupkg文件的目錄,執(zhí)行下面命令

    dotnet nuget push AppLogger.1.0.0.nupkg -k qz2jga8pl3dvn2akksyquwcs9ygggg4exypy3bhxy6w6x6 -s https://api.nuget.org/v3/index.json

    顯示如下結(jié)果:

    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.

    推送命令中的錯(cuò)誤通常表明存在問題 , 如:

    • 您可能忘記了更新項(xiàng)目中的版本號(hào),而嘗試發(fā)布已經(jīng)存在的軟件包。

    • 您嘗試使用主機(jī)上已存在的標(biāo)識(shí)符發(fā)布程序包時(shí),也會(huì)看到錯(cuò)誤:名稱“ AppLogger”已經(jīng)存在。

    Response status code does not indicate success: 403 (The specified API key is invalid, has expired, or does not have permission to access the specified package.).

    如果您使用的是有效 API key,則此消息表示命名沖突,從以上錯(cuò)誤的“權(quán)限”部分無法完全看出這一點(diǎn)。更改程序包標(biāo)識(shí)符,重建項(xiàng)目,重新創(chuàng)建.nupkg文件,然后重試push命令。

    其他一些包管理的操作,請(qǐng)?jiān)趎uget包管理中心倒騰。

    關(guān)注我們
    更多技術(shù)干貨及#副業(yè)剛需#

    請(qǐng)關(guān)注Dotnet Plus公眾號(hào)

    “閱讀全文,體驗(yàn)更佳”

    總結(jié)

    以上是生活随笔為你收集整理的使用dotnet Cli向nuget发布包的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。