Nuget管理本身的项目库

Nuget是什么

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

为何使用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
相关文章
相关标签/搜索