zoukankan      html  css  js  c++  java
  • 搭建Nuget服务器(Nuget私服)

    一、前言

    对公司或者对个人来说,经过一段时间的沉淀之后,都会有一些框架或者模块,为了对这些框架或者模块进行更好的管理和维护,也为了方便后面的开发或者其他同事,我们可以在我们本地或者内网搭建一个Nuget服务器。当然也可以把相关的Package提交到Nuget官方上去,只是提交上之后,就相当于公开了。怎么提交到官方,可以去官方网站http://www.nuget.org/找相关的攻略,这里我们将讲解怎么搭建一个Nuget私服。

    二、搭建Nuget私服

    先创建一个命名为“PFTNugetSystem”的空白解决方案,然后添加web站点(这里我们使用.NET Framework框架的web程序)

    image

    项目名称我们命名为“PFT.NugetServer”,在下面的界面中,我们选择“空”模板,然后HTTPS不勾选。备注:请一定选择“空”模板

    image

    创建成功之后,如果下图

    image

    使用Nuget工具添加“NuGet.Server”包,添加成功之后会自动生成如下文件

    image

    打开Web.config

    因为我们的框架是.NET Framework框架是4.7.2版本,所以注释掉下面的4.6版本的compilation节点

    image

    在appSettings下面,主要的配置:requireApiKey,apiKey和packagesPath。他们都有注释相信大家一看就知道

    image

    然后我们就可以对“PFT.NugetServer”直接发布,并发布到本地的IIS,发布成功之后浏览网站如图所示:

    image

    三、NuGet程序包的制作和发布

    可以利用开发用具“Visual Studio”和“NuGet Package Explorer”实现打包。

    3.1、Visual Studio打包和发包教程

    在解决方案“PFTNugetSystem”,创建一个“PFT.TestPackage”的类库,然后添加一个“PackageHelper.cs”,添加如下方法

    public string GetPackageName(string name)
            {
                return $"名称{name}";
            }

    然后打开项目“PFT.TestPackage”的属性,选择“打包”

    image

    根据实际情况填写相关信息。如果项目里面引用了其他的包,比如“Newtonsoft.Json”,它会自动生成依赖条件。

    然后选择“打包”

    1568366923(1)

    在输入栏得到打包的地址,就可以得到包文件“PFT.TestPackage.1.0.0.nupkg”。

    image

    下载NuGet Package Explorer工具,下载地址:https://github.com/NuGetPackageExplorer/NuGetPackageExplorer/releases  image

    下载之后解压运行“NuGetPackageExplorer.exe”文件image

    选择打开本地包image,选择我们生成的包,image

    然后选择file=》publish。发布成功之后,会提示“Package published successfully”

    image

    然后在Visual Studio工具=》选项=》Nuget包管理 添加本地解析路径

    image

    打开管理解决方案的Nuget程序包,选择本地程序包源

    image

    3.2、NuGet Package Explorer工具打包教程

    打开NuGetPackageExplorer工具,然后选择创建新包image

    将生成的dll文件拖进“Package contents”中image,点击左上角的第一个按钮,编辑包信息,这里为了与Visual Studio生成包有区别,这里我们将包的版本设置为1.0.2,描述改成“Nuget服务器测试包(NuGetPackageExplorer)”

    image

    如果对其他的包有依赖关系,就在下面这个位置 image添加依赖包。

    点击“Edit dependencies”,image

    选择“Newtonsoft.Json”image,

    依次点击加号和okimage

    确定之后image

    发布如上

    最后的效果

    image

    三、总结

    经过上面的的过程,我们就可以在搭建的Nuget私服上面愉快的玩耍了。

    在处理Nuget私服时,还要注意一个问题,就是Nuget.Config,路径是%appdata%NuGetNuGet.Config,内容如下

    image

    NugetServer会区分版本,protocolVersion就表示的版本号,V3版本支持json格式,也就是前面地址展现的内容,V2版本支持xml格式,而我们搭建的是V2版本。主要是在自动化部署的时候,如果配置不正确,依赖包会还原失败。

  • 相关阅读:
    heartbeat 心跳技术
    国产数据库有哪些?
    Redis(1.9)Redis主从复制
    Redis(1.8)Redis与mysql的数据库同步(缓存穿透与缓存雪崩)
    分布式系统/NoSQL
    Redis(1.7)Redis高可用架构与数据库交互(理论篇)
    Redis(1.6)Redis发布订阅
    Redis(1.5)Redis配置文件(4.0.14)
    (5.3.4)数据库迁移——数据对比(结构、数据类型)
    【基本优化实践】【1.5】如何在线稳定的删除/更新大量数据?
  • 原文地址:https://www.cnblogs.com/snailblog/p/11517738.html
Copyright © 2011-2022 走看看