10分钟学会VS NuGet包私有化部署
作者:熊泽-学习中的苦与乐 发布时间:2022-04-23 02:28:31
前言
我们之前实现了打包发布NuGet,但是发布后的引用是公有的,谁都可以访问,显然这种方式是不可取的。
命令版本:10分钟学会Visual Studio将自己创建的类库打包到NuGet进行引用(net,net core,C#)
web版本(推荐):小白2分钟学会Visual Studio将引用包打包到NuGet上
其实官方也提供了私有化部署(NuGet.Server、ProGet、MyGe等),我们就来基于BaGet进行搭建一个私有NuGet环境。
什么是BaGet
BaGet 是GitHub上开源的一个项目,是一个轻量级NuGet和符号服务器,是NuGet V3 服务器的开源实现。
搭建私有化BaGet服务器
我们以自己的本地环境充当服务器环境为例
进入BaGet下载地址下载release包,下面是我下载的版本,你也可以选择其他版本:
https://github.com/loic-sharma/BaGet/releases/download/v0.3.0-preview4/BaGet.zip
如下讲解怎么选择版本下载,点击进入BaGet下载地址,点击Releases选择版本,进入后点击BaGet.zip进行下载。
BaGet下载地址:https://github.com/loic-sharma/BaGet
将下载后的BaGet.zip文件解压,修改appsetting.json 配置文件,不需要修改什么,只需要修改自己的api keys和服务器地址即可。由于这里是测试,api keys就不填了,不影响操作。。
里面的具体配置操作可参考官方文档,
注意启动服务的前提是要安装.NetCore SDK,由于安装了.NET Core,所以自带的有,如果没有的需要安装sdk。
在BaGet.zip文件解压目录(BaGet文件目录)下打开命令行,执行:dotnet BaGet.dll
执行:dotnet BaGet.dll
打开浏览器,运行http://localhost:5000 即可看到nuget 服务已启动。
上传程序包到私有化服务器
创建一个类库用于测试,我们还是以之前的“繁简体相互换换”为例。
using Microsoft.International.Converters.TraditionalChineseToSimplifiedConverter;
using System;
namespace XiongZeUtils
{
public static class xzUtils
{
/// <summary>
/// 简体转换为繁体
/// </summary>
/// <param name="str">简体字</param>
/// <returns>繁体字</returns>
public static string GetTraditional(string str)
{
string r = string.Empty;
r = ChineseConverter.Convert(str, ChineseConversionDirection.SimplifiedToTraditional);
return r;
}
/// <summary>
/// 繁体转换为简体
/// </summary>
/// <param name="str">繁体字</param>
/// <returns>简体字</returns>
public static string GetSimplified(string str)
{
string r = string.Empty;
r = ChineseConverter.Convert(str, ChineseConversionDirection.TraditionalToSimplified);
return r;
}
}
}
右键项目,选择打包:
打包完成会得到一个nupkg文件,版本在右键-》属性-》打包里面进行配置:
在刚刚的浏览器看一下看一下Upload命令:
在上面打包目录下打开命令行执行:
dotnet nuget push -s http://localhost:5000/v3/index.json XiongZeUtils.1.0.3.nupkg
注意,这里是打包路径,也就是生成XiongZeUtils.1.0.3.nupkg文件的目录,和上面解压目录执行dotnet BaGet.dll的是两个地方,不要混淆。
推送包成功后,我们再去http://localhost:5000/的Packages查看一下,私有化打包发布成功。
使用私有化程序包
在vs2019中打开:工具-选项-NuGet包管理器-程序包源。添加一个源,输入名称,源:http://localhost:5000/v3/index.json(自己的服务器地址)
在NuGet里面就能查询到私有服务器上的程序包了
来源:https://www.cnblogs.com/xiongze520/p/15242877.html


猜你喜欢
- 这是入门的第三天了,从简单的hello spring开始,已经慢慢接近web的样子。接下来当然是读取简单的对象属性了。于是按照网上各位大神教
- 前言在Windows下JAVA用到的环境变量主要有3个,JAVA_HOME、CLASSPATH、PATH,下面来详细的介绍。JAVA_HOM
- 在使用他人代码时,为不保留文件头部版权信息,需要一个个删掉,费时费力,写了个脚本,简单清除掉目录下所有的文件的头部版权信息。# -*- co
- 背景公司的开发框架集成了附件本地存储,阿里云,华为云等,现项目有要求附件存储与应用部署环境不能是同一台服务器,也不能使用云存储,经过技术选型
- Fragment一般是宿主Activity UI的一部分或一种行为
- 实例如下:package com.ljq.util;import java.beans.BeanInfo;import java.beans
- Spring Data Jpa复杂查询总结只是做一个总结所以就不多说废话了实体类@Entity@Table(name = "t_h
- NameServer1.架构设计消息中间件的设计思路一般都是基于主题订阅与发布的机制,RocketMQ也不例外。RocketMQ中,消息生产
- 微信朋友圈上面的图片封面,QQ空间说说上面的图片封面都有下拉反弹的效果,这些都是使用滚动条实现的。下拉,当松开时候,反弹至原来的位置。下拉时
- 引言当我们通过@ConfigurationProperties注解实现配置 bean的时候,如果默认的配置属性转换无法满足我们的需求的时候,
- 我们在j2ee当中,连接数据库的时候经常会用到properties配置文件,我们原来在eclipse或者myeclipse当中会在src文件
- 前言socket是软件之间通讯最常用的一种方式。c#实现socket通讯有很多中方法,其中效率最高就是异步通讯。异步通讯实际是利用windo
- 任何一个类都是Class类的实例对象,这个实例对象有三种表示方式第一种表示方式(任何一个类都有一个隐含的静态成员变量class):Class
- C# 日历类的实现代码,具体如下所示:using System;namespace DotNet.Utilities{ ///
- 从今天开始,本专栏持续更新Android简易实战类博客文章。和以往专栏不同,此专栏只有实例。每个实例尽量按照知识点对应相应一章节的内容去写,
- 前言本文主要给大家介绍了关于C#基础之Attribute和反射的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。A
- 成功本文通过java语言实现ECC+AES混合加密。ECC加密算法具有密钥分配与管理简单,安全强度高等优点,AES的加密算法具有速度快,强度
- 本篇我们讲解下使用spring创建bean的几种方式,创建bean,也可以叫组件注册,就是把单例bean放到spring容器中。我们定义如下
- 在日常开发的过程中应该不可避免的会发生 crash,无论你的程序写的多么完美,都不可能完全避免 crash 的发生,可能是由于 Androi
- 上篇文章老王买产品 我们从最原始的基本实现方法,到简单(静态)工厂,然后使用工厂方法设计模式进行改造,最后考虑产品会产生变体,我们