十分钟搭建自己的私有NuGet服务器-BaGet
- 搭建BaGet
- 上传程序包
- 在vs中使用
- 其他
前言
NuGet是用于微软.NET(包括 .NET Core)开发平台的软件包管理器。NuGet能够令你在项目中添加、移除和更新引用的工作变得更加快捷方便。
通常使用NuGet都是官方的服务,但你有没有想过搭建自己的NuGet呢?在私有的NuGet上托管一些自己的类库,公司内部的类库等。。。搭建私有NuGet的方法有很多,比如NuGet.Server、ProGet、MyGet等等。本文使用的是BaGet,搭建过程也非常简单,下面进入正题。
开始
搭建BaGet
BaGet是一个构建于ASP.NET Core 基础上的 NuGet V3 服务器的开源实现。
github地址:https://github.com/loic-sharma/BaGet
下载release包,我下载的是最新预览版,你也可以选择其他版本:
https://github.com/loic-sharma/BaGet/releases/download/v0.3.0-preview4/BaGet.zip
你可以按需要修改一下端口配置,默认是5000:
在解压目录下打开命令行,执行:dotnet BaGet.dll
浏览器访问:http://localhost:8020/
这样,NuGet服务就搭建完成了,是不是很简单?
上传程序包
随便创建一个类库项目用于测试:
右键项目,选择打包:
打包完成会得到一个nupkg文件:
当然,你也可以选择Release模式:
看一下Upload命令:
在上面打包目录下打开命令行执行:dotnet nuget push -s http://localhost:8020/v3/index.json MyTestLibrary.1.0.0.nupkg
再次查看Packages:
在vs中使用
在vs2019中打开:工具-选项-NuGet包管理器-程序包源。添加一个源,输入名称,源:http://localhost:8020/v3/index.json
接下来就可以正常使用了:
其他
程序包的作者,说明,版本号等信息可以在这里修改:
依赖项也完全不用担心:
最后
因为BaGet是基于ASP.NET Core开发,所以天生跨平台,你可以在windows,mac,linux或者docker中轻松部署。另外,BaGet也没有复杂的环境依赖,数据库默认Sqlite,很轻量,部署起来非常容易。
当然,本文一开始也提到,搭建私有NuGet的方式有很多,如有需要可以参考微软官方说明:https://docs.microsoft.com/zh-cn/nuget/hosting-packages/overview
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- C# WPF基础之Timer
- Angular 父子Component的数据绑定实现
- C# WPF线程操作
- Angular 界面元素的条件渲染
- mysqlbinlog命令详解 Part 2 - MySQL 事件类型
- Angular list列表的事件响应实现
- Angular list列表绑定的一个例子
- Angular双向绑定的一个例子
- mysqlbinlog命令详解 Part 3 - 查看十六进制格式内容
- MySQL information_schema详解 CHARACTER_SETS 表
- 彻底弄懂 Unicode 编码
- 两种使用代码获得SAP CRM product sales status的办法
- C#: "$"作用和用法
- SAP ABAP字符和字符串变量隐式转换的一些规则
- MySQL information_schema详解 COLLATION_CHARACTER_SET_APPLICABILITY