日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

一文了解Nuget的使用

發布時間:2023/12/4 91 豆豆
生活随笔 收集整理的這篇文章主要介紹了 一文了解Nuget的使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Nuget介紹

官網定義:NuGet是.NET的軟件包管理器(免費)。NuGet客戶端工具提供了生成和使用軟件包的能力。NuGet Gallery 是所有軟件包作者和消費者都使用的中央軟件包存儲庫。

簡單來說,nuget包解決了dll引用的問題,開發者可以通過打包,然后發布到公有主機或者私有主機上,供其他開發者使用。可以大大的提高創建一個.NET應用的效率。

想了解平時安裝的nuget包,是如何產生的。需要了解幾個角色。

  • 創建者:包的作者,創建一個項目,最終生成一個后綴名為.nupkg的文件,里面包含了編譯代碼DLL、與該代碼相關的其他文件以及描述清單如版本等信息。

  • Host 主機:nuget.org 作為公共主機,如果你也想發布一個包,供所有開發者使用的話,可以選擇它。NuGet 自身負責在 nuget.org 中維護包含 100,000 多個唯一包的中央存儲庫。這些包每天供數以百萬的 .NET/.Net Core 開發人員使用。私有主機上,比如團隊內部幾個人可以訪問。

  • 消費者:很好理解,就是我們從nuget獲取包的開發者。

簡單的總結下這幾個角色的關系:創建者創建一個nuget包,并發布到主機上。然后使用者在可訪問的主機上搜索安裝nuget包到項目中,這樣項目就可以利用包提供的功能。如圖

工具的選擇

?目前提供的工具還是挺豐富的,下文使用dotnet CLI ,你也可以選擇任意你習慣的工具

打包

準備工作,創建一個類庫并命名為AA.Nlog。

?1.配置包元數據 ,右鍵項目-》屬性

在.csproj文件中,我們發現添加了一下屬性:

<PropertyGroup><TargetFrameworks>net452;netstandard2.0</TargetFrameworks><Description>支持 NLog</Description><PackageProjectUrl>https://github.com/ChengLab/AAFrameWork</PackageProjectUrl><RepositoryType>git</RepositoryType><PackageTags>NLog</PackageTags><RepositoryUrl>https://github.com/ChengLab/AAFrameWork</RepositoryUrl><GeneratePackageOnBuild>false</GeneratePackageOnBuild></PropertyGroup>

如果勾選了在版本中生成Nuget包選項框,則生成項目時會自動生成nuget包;包ID:是唯一的標識,用戶搜索和使用就是通過包ID。包版本:會自動根據程序集版本生成,如果要更新包,只需要把版本號改大點即可。其他信息可以自行填寫。

2.從項目中 生成nuget包(.nupkg文件),運行pack命令如下:

dotnet pack

nuget包已經生成了,什么是nupkg文件?.nuspec文件是包含程序包元數據的XML清單。此清單可用于構建包裝并向消費者提供信息。清單始終包含在包裝中。可以在微軟文檔中(https://docs.microsoft.com/en-us/nuget/reference/nuspec)找到有關nuspec的更多詳細信息

發布包到公共Host

創建 API 密鑰
  • 登錄你的 nuget.org 帳戶,或創建一個帳戶(如果你還沒有帳戶)。有關創建帳戶的詳細信息,請參閱個人帳戶。

  • 選擇用戶名(在右上角),然后選擇“API 密鑰”。

  • 選擇“創建” ,提供密鑰名稱,選擇“選擇范圍”>“推送” 。輸入“Glob 模式” *,然后選擇“創建” 。

  • 創建密鑰后,選擇“復制”,檢索需要在 CLI 中使用的訪問密鑰 :

  • 使用dotnet CLI 發布nuget包
    • 運行命令,指定包名稱(唯一包 ID)并使用你的 API 密鑰替換密鑰值:

    dotnet nuget push AA.NLog.1.0.0.nupkg -k qz2jga8pl3dvn2akksyquwcs9ygggg4exypy3bhxy6w6x6 -s https://api.nuget.org/v3/index.json
    • 發布過程結果

    info : 正在將 AA.NLog.1.0.0.nupkg 推送到 'https://www.nuget.org/api/v2/package'... info : PUT https://www.nuget.org/api/v2/package/ warn : All published packages should have license information specified. Learn more: https://aka.ms/deprecateLicenseUrl. info : Created https://www.nuget.org/api/v2/package/ 2854 毫秒 info : 已推送包。

    這里? -k 代表API密鑰,? -s 代表源。在我們的例子中,源是nuget.org

    我們登錄到nuget.org查看我們的軟件包:

    可以進行管理,發布之后,稍等幾分鐘會在nuget.org中進行搜索到

    在vs中瀏覽我們的nuget軟件包

    管理nuget程序包->搜索我們剛發布的軟件包,AA.Nlog。

    如上圖所示,該軟件包已經可以使用。

    希望這篇文章可以對你有所幫助!

    參考:https://docs.microsoft.com/zh-cn/nuget/what-is-nuget

    總結

    以上是生活随笔為你收集整理的一文了解Nuget的使用的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。