专栏首页Create Sun搭建nuget 服务器

搭建nuget 服务器

前言

  搭建nuget服务器,这是上家公司进行类库管理的方式,其实优点很明显,

  1.代码保密

  2.代码重复利用效率高,这样不管任何项目只要知道nuget服务器地址就能直接调用

  3.可进行版本任意切换提高代码差异性管理

1.部署nuget 服务器

  因为我们的项目使用的是net core ,所以自己直接也是建立的net core项目,但是发现nuget server 不管是nuget server 还是nuget server core 对于net core 2.2 都不支持,故此选用了net mvc进行搭建nuget 服务(ps:如有解决请留言给我)。

  1.1.建立一个空项目这个很好解决在这不做过多阐述,如图:

  1.2.找到对应版本Nuget.Server

  我建的项目是基于.Net Framework 4.6.1 所以选择了3.4.1 版本,根据自己项目的版本选择对应的版本即可。选择之后项目中会自动生成Packages文件夹,修改web.config中 <add key="apiKey" value="npspackages2019" />q其中apikeyy用作上传包的key

    1.3.运行项目

那么nuget 服务就算搭好了,部署到iis即可。

2.nuget 打包

  在这里我没要用到的就是NuGet Package Explorer这个工具,下载即可。

  2.1打开NuGet Package Explorer出现启动界面,选择Create a new package(Ctrl+N)创建一个新包

  2.2、选择菜单 Edit > Edit Package Metadata (或者 CTRL + K) 编辑包包信息

  这里可以编辑类库包的信息和添加类库、程序集的引用解释下几个比较重要的字段:

  Id:用于定位类库包的唯一标示,

  Version:类库的版本号,这里建议和程序集的真实版本号保持一致,以免发生混淆

  Dependencies:此类库依赖的程序集,根据实际情况添加依赖类库的Id和版本号,若无留空即可,这里需要注意下填写的依赖类库需要在NuGet服务器上能找到,否则无法完成自动引用添加   Framework assemblies:依赖的Framework 程序集,根据实际需要选择即可,一般无需设置   除以上四项以外其他属性根据实际情况修改即可,若自己用不修改也中,不过为了使用方便还是建议把类库描述(Description)填写下

  2.3、添加dll

  右键-->Add Existinng File... 选择dll添加,也可以直接拖拽DLL到 Package contents 窗口,此例选择拖拽方式,直接拖拽dll到窗口后,会出现提示:是否将 Winista.HtmlParser.dll放到lib 文件夹下,一般我们选择yes

信息修改和dll都添加完毕后,选择File --> Save(或Ctrl + S)将文件进行保存,默认文件名为Id + 版本号.nupkg 

 2.5、完成保存后如需要发布到网上,选择File--> Publish...(或Ctrl + P)

如果想要发布到nuget官网,发布 Key需要到官网去注册一个账号获取,方法一致。

3.使用

使用的时候和咱们使用公共的nuget 包一致。

  3.1添加包源

  3.2选择包源

  记得勾选【包含预发行版本】

这样nuget 包管理服务器就算搭好了。在版本中切换自己相应的版本即可。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

推荐阅读

  • Linux服务器使用腾讯云CLS日志服务初体验

    hello,腾讯云的小伙伴们,我是不想赖床,一位拥有2年腾讯云服务使用体验的计算机大学生。我们在使用腾讯云服务器时,在各种业务开发部署过程中会产生各种日志,如果产生错误信息,我们还需要去服务器文档中查找日志然后再去解读日志并找到问题,这样就会浪费很多时间。

    不想赖床
  • Groovy反射invokeMethod传参实践

    最近在做分布式性能测试拓展的过程,其中一个思路就是通过Groovy反射执行方法。但是在创建groovy.lang.GroovyObject对象之后,通过调用groovy.lang.GroovyObject#invokeMethod方法执行类方法的时候遇到一个问题,就是groovy.lang.GroovyObject#invokeMethod只有两个参数,一个是String name方法名,另外一个是Object args方法参数。

    FunTester
  • 如何使用CDN和轻量应用服务器给自己搭建一个图床?

    有些人可能对图床这个没什么概念,所谓图床,英文叫法应该叫:ImageHost,也就是储存图片的中枢,可以理解为:用户存储图片后,系统提供改图片的直接链接,用来通过网络访问显示该图片。

    Mintimate
    内容分发网络 CDN轻量应用服务器 LighthouseGit
  • serverless wordpress 三分钟快速打造属于自己内容网站

    若需使用 Serverless 应用部署 功能,需要您允许 Serverless Framework 访问您的部分资源,他们将通过服务角色访问您已授权给予他们的资源以实现当前功能,请您点击前往授权,为 Serverless Framework 进行相关服务接口的授权

    长烟斗
  • 【有奖征文】腾讯云产品“用户实践”长期征集啦~

    1、投稿内容为腾讯云产品使用攻略、上云技术实践等,必须保证内容原创性,实践过程真实、内容代码化,一经发现侵权行为,取消活动参与资格。

    腾讯云文档
    官方文档
  • 【玩转腾讯云】使用Serverless搭建B站自动签到脚本

    配置脚本:一个或多个B站账号,以及登录后获取的SESSDATA,bili_jct,DedeUserID (获取方式见下方示意图)浏览器打开B站主页--》按F12打开开发者工具--》application--》cookies

    二哈
    玩转腾讯云
  • 利用【腾讯云】部署一个属于自己的【个人博客网站】 超详细!!!

    Fork项目,用IDEA新建项目,点击 Create Project For Version Control,复制项目github地址 粘贴到IDEA中的Git地址 选择 点击clone 等待项目下载即可

    杜少雄
    云服务器云数据库 MySQL
  • 混部之殇-论云原生资源隔离技术之CPU隔离(一)

    蒋彪,腾讯云高级工程师,10+年专注于操作系统相关技术,Linux内核资深发烧友。目前负责腾讯云原生OS的研发,以及OS/虚拟化的性能优化工作。 导语 混部,通常指在离线混部(也有离在线混部之说),意指通过将在线业务(通常为延迟敏感型高优先级任务)和离线任务(通常为 CPU 消耗型低优先级任务)同时混合部署在同一个节点上,以期提升节点的资源利用率。其中的关键难点在于底层资源隔离技术,严重依赖于 OS 内核,而现有的原生 Linux kernel 提供的资源隔离能力在面对混部需求时,再次显得有些捉襟见肘(

    腾讯云原生
  • 腾讯蓝鲸自动化运维平台简介部署及常见报错解决

    安装和运行蓝鲸时,模块之间互相访问的端口策略较多,建议对蓝鲸后台服务器之间关闭防火墙。

    常见_youmen
    蓝鲸平台
  • Go操作腾讯云COS对象存储的简单使用案例

    Golang:用于下载和安装 Go 编译运行环境,请前往 Golang 官网进行下载

    常见_youmen
    Go

扫码关注云+社区

领取腾讯云代金券