一、前言

   在产品开发过程中,一点有很多类库;这么多类库大家是如何管理的呢,TFS、SVN、Github……?在开发人员使用对应类库是否存在类库引用路径不一致、版本不一致问题、依赖类库版本不对应等一些列问题呢?

   那么就要给大家推荐一个.Net程序开发首先的类库管理神器——NuGet

二、NuGet介绍

   NuGet是通常,此类代码捆绑到“包”中,其中包含编译的代码(如 DLL)以及在使用这些包的项目中所需的其他内容。

随后,NuGet 自身负责处理所有中间详细信息。

   2.  NuGet包的流动:

在项目中安装包后,包的 API 将可用于其余项目代码。(如下图)

NuGet 应用指南

   3. 包定向兼容性

对于创建者和使用者而言,这是最有效的方式,因为单个包(通常包含单个程序集)适用于所有使用项目。 

   4. 管理依赖项

    如果任何这些包本身使用其他包(这些包仍可以使用其他包),NuGet 将负责所有这些下层依赖项。

跟踪引用和还原包


 

以两种“包管理格式” 中的一种维护,因为将它们称为:

    • PackageReference 始终由 .NET Core 项目使用。

    • 已安装或已还原的包存储在 packages 文件夹中。

二、使用NuGet

   1. 程序包源设置 

    程序包源可以设置远程服务器地址、本地路径、本地服务器地址等多种方式,本地包源后面会讲到 

    NuGet 应用指南 

  2. 使用NuGet报管理工具界面使用非常简单,如下图

  NuGet 应用指南

   3. 使用程序包管理器控制台

    Vs菜单->工具->NuGet包管理器->程序包管理器控制台

    如下图添加:添加版本为12.0.3的Newtonsoft.Json.dll
    命令可以在NuGet官网中查看

    NuGet 应用指南

三、发布程序到NuGet官网

   如果我们实现了一个很好的程序集,又想分享给大家一起使用。你就可以把你的程序集打包发布到NuGet官网。其他人想使用的时候就可以按照前面的步骤使用了。接下来我们一起来发布一个dll到NuGet官网吧。

  1.  前往NuGet官网注册一个账号(可以使用微软账号登录),登录后进入个人中心创建Api Key(相关步骤就不描述了,非常简单)【请妥善保证Api Key】 

  2.  发布程序集未NuGet包的方式有很多种:nuget CLI, dotnet CLI, Visual Studio 

   本次我采用的是dotnet CLI方式:

·  a)生成NuGet 包(*.nupkg文件)

    进入程序集项目目录,执行命令:dotnet pack    

    如果期望在执行 dotnet build 命令时自动执行 dotnet pack 命令,则需要在项目文件的 <PropertyGroup> 标签中添加下行,

    <GeneratePackageOnBuild>true</GeneratePackageOnBuild>

   b)发布NuGet包到官网: 

    命令行进入NuGet包文件目录,执行命令

    命令:dotnet nuget push your_nuget_package.nupkg -k your_API_Key -s https://api.nuget.org/v3/index.json (颜色标记内容分别替换为你的包名称和Api Key)

 

  NuGet 应用指南

 

 

   注意:注意包命名,如命名重复会推送失败。

  当包发布成功后,会收到一封邮件。这时候就可以在NuGet包管理器中查看对于内容。如下图:

  NuGet 应用指南

  

四、本地NuGet服务器搭建

  前面介绍了NuGet的使用和NuGet包的发布,但日常工作中很多程序集都是不需要对外公开的;那么我有什么办法解决呢?——在本地搭建一个NuGet服务器

  搭建NuGet本地服务器非常简单。

  1. 创建一个Web项目: 文件-->新建项目-->Web应用程序 (空项目)

    NuGet 应用指南

  2.  使用NuGet包管理工具添加包:

    NuGet 应用指南

 

 

     包添加成功后运行项目:看到如下界面,表示成功

    NuGet 应用指南

 

 

      接下来就是把该项目部署到IIS上(详细过程不在介绍)

   3. 使用本地NuGet服务:

      选择“工具”菜单,选择“选项”,弹出“选项”界面,选择 “NuGet Package Manager” ,然后在选择 “程序包源”,点击 “+”,在界面下方 设置 名称 “mynuget.org” 随便取,设置 源 “http://IIS发布地址/nuget” ,确定 关闭界面,回到项目。如下图

    NuGet 应用指南

 

 

 

   4. 使用本地服务器

    发布包:

    NuGet 应用指南 

      使用方式同上面介绍    

五、工具

   前面使用发布包都是通过命令方式,那么有没有图形化的界面呢?——有,肯定有。

  NuGet Package Explorer

  下载地址:    

CodePlex:https://npe.codeplex.com/

GitHub:https://github.com/NuGetPackageExplorer

1、安装后启动程序

  NuGet 应用指南

 

 

   NuGet 应用指南

如图分为两个编辑区,一个是 Package Metadata 负责描述程序包信息的,Package Contents 负责程序包文件相关的。

点击   Package Metadata 区 “编辑” 按钮,想编辑 “Chaney.CalcTools”  程序包描述信息。

然后 将“Chaney.CalcTools” 项目 产生Dll,拖入 Package Contents   

2. 点击File->Publish->设置发布地址和Key点击发布后就发布到NuGet服务端,后面就可以在NuGet包管理中使用发布程序。

 NuGet 应用指南

 

 

 

引用:

  官方地址:https://docs.microsoft.com/zh-cn/nuget/what-is-nuget

 

相关文章:

  • 2021-06-07
  • 2021-10-18
  • 2021-07-03
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-02-11
  • 2021-06-21
  • 2021-05-30
  • 2022-01-14
  • 2022-12-23
  • 2021-04-13
  • 2021-11-17
相关资源
相似解决方案