搭建私有 Nuget 服务

在公司内部,有一些类库等是不能对外公开的,通过搭建私有的Nuget服务,实现对此的管理。搭建Nuget服务器有两种比较常见的方案,一种是使用官方提供的第三方库 Nuget.server ,另一种使用商业软件GetPro实现(提供Free License)。今天就详细的说一下如何使用Nuget.server搭建Nuget服务。

使用 NuGet.Server

使用 NuGet.Server 搭建Server是一个常规并且非常简单的方法。简单点说,就是创建一个Asp.Net网站托管Nuget服务。

创建一个Asp.Net Web Application 项目

创建项目时,要注意你选择的.Net Framework 版本号。如果版本号为 4.5.2 ,必须安装 NuGet Server 2.10.3 。

选择Empty模板
搭建私有 Nuget 服务_第1张图片
通过NuGet工具安装 NuGet.Server
搭建私有 Nuget 服务_第2张图片
修改配置文件

设置Package存放目录,默认是 ~/Packages


设置 ApiKey



发布网站
  • 使用 Visual Studio 直接 publish 到IIS。
  • 先 publish 到本地目录,手动部署在IIS上。
    这里我选择第二种方式,手动部署网站到IIS上。


    搭建私有 Nuget 服务_第3张图片
新建网站
搭建私有 Nuget 服务_第4张图片
网站配置
搭建私有 Nuget 服务_第5张图片
通过浏览器访问

搭建私有 Nuget 服务_第6张图片

如果不幸,出现下面这种情况
搭建私有 Nuget 服务_第7张图片

请检查 应用程序池 -> nuget.server.Net CLR 版本是否为 v4.0
搭建私有 Nuget 服务_第8张图片

OK,到此为止,Nuget服务已搭建完成。下面我们创建一个测试的Package测试一下Nuget服务是否能正常工作,这里我们会使用到 Nuget.commandline工具,推荐大家使用Windows包管理器 Chocolatey 进行安装,至于具体的安装方法就不再详细说明。

创建一个类库项目:Test

搭建私有 Nuget 服务_第9张图片

并新建一个 Test 类,声明一个静态方法 Hello

namespace Test
{
public class Test
{
public static string Hello()
{
return "Hello";
}
}
}
创建 Package manifest 文件

在项目 Test 目录下,执行命令:

nuget spec

Every NuGet package needs a manifest–a .nuspec file–to describe its contents and its dependencies. The NuGet CLI will create this file for you, which you then customize.

修改 Test.nuspec 文件


    
    Sunth.TestPackage
    0.0.0.1
    测试分发包
    sunth
    cardioray
    https://sunfei.lol
    https://sunfei.lol
    https://sunfei.lol/images/favicon.png
    false
    测试Nuget服务器
    第一次提交测试包
    Copyright 2017
    Test
    

生成 Package 文件
nuget pack Test.csproj -Build -Properties Configuration=Release
发布包到Nuget服务
nuget push Sunth.TestPackage.0.0.0.1.nupkg sunth -Source http://192.168.1.122:11111/api/v2/package
--- output ---
Pushing Sunth.TestPackage.0.0.0.1.nupkg to 'http://192.168.1.122:11111/api/v2/package'...
PUT http://192.168.1.122:11111/api/v2/package/
Created http://192.168.1.122:11111/api/v2/package/ 407ms
Your package was pushed.

可以通过网站查看刚刚上传包的信息


搭建私有 Nuget 服务_第10张图片

结束

首先希望大家可以根据这篇博客成功搭建属于自己的Nuget服务器,搭建Nuget服务的方法不止这一种,下一篇博文会介绍一些通过ProGet搭建Nuget服务。
祝大家生活愉快

你可能感兴趣的:(搭建私有 Nuget 服务)