Nuget管理自己的项目库

Nuget是什么

Nuget 是一种 Visual Studio 扩展工具,它能够简化在 Visual Studio 项目中添加、更新和删除库(部署为程序包)的操作。(官方地址)相信大家对这个应该还是很熟悉的,没有序列化包大家第一时间就是搜索一个辅助包进行引用,大家有没有想过这些帮助包是哪里来的呢? (绝对不是天上掉下来的)

为什么使用Nuget

  • 当我们需要使用序列的时候,如果不使用Nuget中优秀的辅助包,我们就需要自己去实现一个序列话帮助类,这样我们就不能安安心心搬砖了,全部都写帮助类库了,当然我们有现成的轮子直接使用就可以了(自己费老大劲写出来的轮子可能还有bug)。
  • 当然我们也不是不能写,我之前负责过一个项目,我们的架构师写了一套核心帮助类,但是没有使用Nuget进行管理,项目的体量就非常非常大了,一个项目27个类库如果我们采用这种方式进行管理话我们项目也会变的更简单。
  • 当新项目开始的时候我们也不需要把帮助类库粘贴复制过来了,直接引用项目类库就完事了,简单的让自己飘飘乎。
  • 还有Nuget也可以搭建自己的私有帮助类,因为有些公司内部的信息不方便公开,也可以使用这种方案。

怎么使用NuGet

  1. 在NuGet官网上注册并获取API Key
    • 首先,你需要到NuGet上注册一个新的账号,然后在My Account页面,获取一个API Key。

  2. 下载NuGet.exe
    • 使用之前,需要先下载NuGet.exe,为了方便使用,设置机器的PATH环境变量,将其NuGet.exe的路径添加到PATH变量中。我放在F:Program files下,所以路径为F:Program files。
  3. 设置API Key
    • 我们现在就是复制秘钥,设置到电脑中(nuget setApiKey 你的秘钥)
  • 创建清单
    • 创建一个自己的类库,然后进入项目目录中使用nuget spec命令创建一个清单.nuspec
标记
(id) 程序集名称。
(title) AssemblyTitleAttribute 中指定的程序集标题。
(version) 程序集的 AssemblyVersionAttribute 中指定的程序集版本。
(author) AssemblyCompanyAttribute 中指定的公司。
(description) AssemblyDescriptionAttribute 中指定的描述。
  1. 创建程序包
    我们在发布之前可以先修改类库的信息
    • 如果同一个目录中只有一个项目文件,则在运行命令时可以省略项目文件名称。 nuget pack ProjectName.csproj
    • 如果尚未编译项目,可先用 Build 标记编译项目,然后压缩它。 这将在运行 pack 命令之前编译项目。 nuget pack ProjectName.csproj -Build
         此命令将生成名为 ProjectName.{version}. nupkg 的文件,其中,{version} 的值与 AssemblyVersionAttribute 中指定的值相同。 例如,如果版本是 1.0.0,您的程序包将命名为 ProjectName.1.0.0. nupkg。
    • 为了方便开发人员安装您的程序包,请考虑使用 Symbols 标记创建带调试器符号的程序包:nuget pack ProjectName.csproj -Build -Symbols除了主程序包之外,此命令还创建符号程序包。 这使安装您的程序包的其他人在调试其应用程序时能够单步执行程序包代码。

  2. 发布程序包(需要进入.nupkg文件目录中执行)
    • 当我们完成了上述所有的操作就已经完成了所有操作, 如果你希望你的成果可以帮助其他人你就可以执行此命令上 nuget push dcl.1.0.0.1.nupkg -source nuget.org 程序上传

  3. 测试以及更新类库包
    • 在解决方案中右键解决方案—-管理解决方案的NuGet程序包—-联机,输入自己的类库包名。安装就可以了。然后是更新,更新的时候记得更改的版本号的信息,然后再重新运行一遍下面的cmd
      nuget pack *.csproj
      nuget push *.nupkg
    
原文地址:https://www.cnblogs.com/chenxi001/p/13775838.html