zoukankan      html  css  js  c++  java
  • 使用Nuget管理dll

    前言

      nuget 已经不是什么新东西,它是vs的一个扩展工具,可以让我们在项目中添加、删除、更新引用变得更加快捷方便。现在有许多传统公司对dll的管理还是很落后的,有些甚至时通过发送dll文件,这样做的直接缺点就是很繁琐、容易出错。之前就有试过一个dll的版本不对,测试人员更新到线上接口直接就挂了,接着就是花一堆时间定位问题。nuget可以让我们很方便的管理引用,减少许多不必要的麻烦。接下来就图文讲解一下如何在自己计算机、公司内部服务器,或者是nuget 服务器搭建自己的nuget库,本篇没有高级的东西,只对新手有参考价值。

    搭建包服务器

    1. 安装nuget工具

      这个就很简单了,如果你的vs还没有那是不行的。直接在【工具】->【扩展和更新】 搜索一下nuget 即可安装,安装后在项目右键引用就会出现【管理Nuget程序包】菜单,在这里我们就可以安装所需要的引用,例如EF,Newtonsoft,jQuery 等等。下面的【程序包管理控制台】可以通过命令来安装引用,界面去操作是一样的。

      

    2. 搭建nuget服务器

      nuget 服务器其实就是一个站点,通过请求去获取需要的包。所以我们需要做的就是搭建一个web站点。

      我们新建一个asp.net mvc 项目,在【程序包管理器控制台】输入 Install-Package Nuget.Server -Version 2.11.1  即可安装 nuget 相关服务,安装后我们的项目就会多一些文件,web.config也覆盖即可。具体这些是做什么的,我们不用管。

      2.1 需要注意的是,这里Nuget.Server 有一定的依赖,所以我们要选择合适的版本,具体可以再这里看:http://www.nuget.org/packages/NuGet.Server/2.11.1

      2.2 web.config 几个配置,安装成功后,会多如下几个配置

      <add key="requireApiKey" value="true" />   指示上传包到服务器是否需要apiKey,一般为true

      <add key="apiKey" value="" />    可以看做密匙,在上传包的时候要用到的

      <add key="packagesPath" value="" />    包的位置,默认是 ~/Packages

      <add key="allowOverrideExistingPackageOnPush" value="false" />  是否允许覆盖已存在的包,可以设置为true

      

      2.3 安装后直接发布网站到iis即可,没错,就是这么简单!!!

    3. 将nuget服务添加到nuget管理工具

     选择【工具】->【库程序包管理器】-> 【程序包管理器设置】,然后把我们创建的服务站点加在这里

      3.1 这里要注意有 /nuget 路径,具体可以看站点的路由代码。

      这个时候我们在【引用】右键【管理Nuget程序包】这里就可以看到我们新增的服务了。接下来我们要做的就是把包放在这个服务里就行了。

     4. 编写dll,上传到服务器

    我们随便编写一个dll,然后使用包管理器 NuGetPackageExplorer 来发布,这里个可是化的包管理工具。

      4.1 在NuGetPackageExplorer 【Edit】->【Edit Metadata】创建一个Package Metadata,这里可以填写dll的一些信息,大家看起来一看很熟悉的,如果我们的dll有其它依赖,也都可以在这里添加。其中Id 是比较重要的,就是我们安装时要用的,也就是 Install-Package XXX 这里的XXX。

      4.2 接着在右边工作区右键新增一个Lib文件夹,再新增刚刚编写的dll

      4.3 保存。这个时候会生成一个 .nupkg 的文件,可以把它看做是一个压缩文件,nuget就是依靠解析它来获取实际的dll文件的,我们实际需要也是这个文件,不需要具体的dll。接着在【File】->【publish】即可,这里默认是发布到nuget官网,我们需要去注册账号才能拿到key,不过我们也可以选择上面自己创建的站点,key就是配置文件的key。

    这里可能会出现一个Not Allowed的错误,我们需要去【服务的Web站点】->【模块】,找到【WebDAVModel】 并删除它即可。

      4.4 发布成功后,在站点的~/Packages 目录下就可以看到变化了。接下来就可以像添加其它引用一样用Nuget从我们自己的服务器添加引用了;也可以在控制太用命令Install-Package TestNugetServerDll 来安装。

    总结

      其中还有一些坑,踩到了解决就行了,百度也有很多资料。

  • 相关阅读:
    软件需求分析——阅读笔记
    第二次冲刺阶段 tenth day
    第16周周总结
    第二次冲刺阶段 ninth day
    判断各种数据类型的方法总结
    vue中8种组件通信方式
    字符串常用方法总结
    JS中轻松遍历对象属性的几种方式
    fetch请求和ajax请求
    js 文件下载,当前页下载,新标签下载____后端返回 GET/POST 文件流,下载文件
  • 原文地址:https://www.cnblogs.com/4littleProgrammer/p/6445440.html
Copyright © 2011-2022 走看看