zoukankan      html  css  js  c++  java
  • 用ProGet搭建本地私有NuGet仓库

    搭建ProGet

    下载

    官网下载Windows版本的Inedo Hub (https://inedo.com/proget/download
    下载下来的软件名: ProGetInstaller.exe

    安装

    点击ProGetInstaller.exe,出现如下安装界面

    Registration 选项选择 Free ;
    SQL Sever 选项选择 Specify instance,添加Connection string:
    data source=192.168.195.129;user id=sa;password=yourStrong(!)Password;MultipleActiveResultSets=True;

    Database Name选项默认的数据库名称是ProGet(可以新建一个空库也可以不建,安装时,如果没有对应数据库,程序会自动创建数据库)
    Hosting 选项默认选择 Intergrated Web Server ,就是以服务的方式安装。

    添加成功后,SQL Server选项会显示选中刚刚新加的服务器IP地址

    点击安装后,输入名称和邮件地址来获取到免费的key。

    安装成功后的IndeoHub界面

    在Services里面可以看到有两个服务正在运行,ProGet的服务和其Web服务。

    通过Windows的任务管理器里的服务也可以看到这两个服务。

    InedoHub的Configuration界面是ProGet的相关配置信息,包括数据库链接字符串,Key,以及ProGet的网站端口号。

    本机IP为192.168.1.48,所以访问 http://192.168.1.48:8624 ,出现如下界面说明ProGet安装成功。

    配置

    点击网站的头像部分,然后点击登录

    网站的管理员账号及初始密码是Admin/Admin。

    登录管理员账号后,设置Task

    给匿名用户添加 Publish Packages (发包)权限。

    添加Connectors,添加NuGet官方配置

    新增Feed,选择第三方包NuGet,Feed 名称为ZeroGet。

    新建成功

    进入ZeroGet,我们会发现没有任何包,点击 Manage Feed 按钮,进入该Feed的管理界面,在Feed Connectors 项目里面,点击 add connector 按钮,选择先前新建的名叫Nuget的Connector。

    再次进入ZeroGet的Feed界面,结果如下,我们把NuGet官网的包信息也同步过来了!

    上传程序集

    下载NuGet

    NuGet官网下载地址 https://www.nuget.org/downloads
    将下载好的nuget.exe放在特定的位置,例子的路径是 D:Program Files (x86)NuGet uget.exe

    设置环境变量

    如下图,编辑环境变量Path,新增nuget.exe的所在文件夹路径,这样cmd命令行就可以直接使用nuget命令进行相关的打包操作了

    项目打包

    修改项目程序集信息

    这里介绍的是简单的通过修改项目的AssemblyInfo.cs文件来修改程序集的发布信息。

    打开AssemblyInfo.cs文件,一般是修改如下内容就够了
    [assembly: AssemblyDescription("这是描述的信息")]//程序集的描述
    [assembly: AssemblyCompany("Zero")]//程序集的作者或所属公司
    [assembly: AssemblyCopyright("Copyright ©  2019")]//程序集版权信息
    [assembly: AssemblyVersion("1.0.1")]//程序集版本
    [assembly: AssemblyFileVersion("1.0.1")]//文件版本一般与程序集版本一致

    项目打包

    在打包之前,先编译生成一遍项目。
    运行cmd命令行,进入到要打包的项目的.csproj文件所在目录下,运行如下命令
    nuget pack  -Build -Properties Configuration=Release
    结果如下,成功生成Zero.Test.1.0.1.nupkg文件

    上传到本地仓库

    在本地的ProGet网站的对应ZeroGet的Feed里面有添加包的 Add Package 按钮,点击后,提升如下四种添加方式,我们是通过NuGet的命令行来进行添加的,点击对应选项。

    点击通过NuGet的命令行来进行添加的对应选项后,弹出如下提示内容。

    上面命令脚本如下,[API key]的选项是可选的,可以不填。
    NuGet.exe push  [API key] -Source http://192.168.1.48:8624/nuget/ZeroGet/

    承接上面的具体操作,在成功生成nupkg文件后,运行下面的脚本
    nuget push Zero.Test.1.0.1.nupkg  -Source http://192.168.1.48:8624/nuget/ZeroGet/
    结果如下图:

    浏览器访问本地ProGet,显示信息如下

    进入ZeroGet的Feed里面,我们可以看到刚刚本地新上传的程序集是置顶显示的。

    点击测试的程序集,查看程序集具体信息,作者信息,描述信息,版本信息都是我们程序里面编辑的。

    查看程序集依赖和项目比较,也是一样的。



    OK,打包并上传成功,下面就是要本地项目使用刚刚的程序集了。

    下载使用程序集

    获取包源

    在ZeroGet的Feed页面,显示有API endpoint URL:http://192.168.1.48:8624/nuget/ZeroGet/
    该路径就是ZeroGet的包源路径。

    添加包源

    打开VS,工具》NuGet包管理器》程序包管理器设置

    点击NuGet包管理器下的程序包源,点击新增按钮,新增ZeroGet本地包源,如下图。

    使用包源

    在项目下,右击打开“管理NuGet程序包”,将程序抱怨切换到ZeroGet,如下图所示,我们就可以看到我们刚刚上传到本地库的程序集信息了。

    点击安装后,自动安装该程序集以及它的依赖项。如下图。

    验证程序引用正常

    下图是Zero.Test项目代码,简单的将对象转换成字符串类型。

    下图是在控制台项目,用NuGet应用程序集Zero.Test后,调用Zero.Test.Convertor.GetObjString方法的执行结果,说明Zero.Test该程序集正常工作,引用正常。

    参考

  • 相关阅读:
    Convert CString to std::string
    VC 使用预编译头
    [转]Windows下使用doxygen阅读和分析C/C++代码
    [SCOI2016]背单词
    Linux配置日志服务器
    网络学习day02_OSI七层模型及数据的传输过程
    网络学习day04_VLSM、子网划分
    XSS闯关游戏准备阶段及XSS构造方法
    网络学习day03_IP地址概述与应用
    网络学习day01_计算机网络与分层思想
  • 原文地址:https://www.cnblogs.com/zerodai/p/10796535.html
Copyright © 2011-2022 走看看