百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

10分钟学会Visual Studio将自己创建的类库打包到NuGet

bigegpt 2024-10-04 13:54 6 浏览

前言

  NuGet就是一个包(package)管理平台,确切的说是 .net平台的包管理工具,它提供了一系列客户端用于生成,上传和使用包(package),以及一个用于存储所有包的中心库。

  对于一个现代化的开发平台,建立一种让开发者创建,分享与使用可复用代码的机制是十分必要的。这种“可复用代码”被打包后的文件通常被称作“包”(package),

对于.NET(包括 .NET Core)平台来说这个机制的实现就是NuGet平台。

  NuGet的实现均为开源项目,包括了客户端工具,服务器,官方网站以及各语言的文档等。

  NuGet包的本质是一个以nupkg为后缀的zip压缩文件(你可以将后缀改为.zip后解压查看里面的内容),其中包含了编译后的Dll文件以及其他相关文件。

            图1:显示nuget包从创建,上传到被使用的流程

对于引用大家都会使用,但是对于创建NuGet引用就不怎么会了,我们下面就介绍怎么打包dll类库到NuGet平台进行引用。

回到顶部

创建类库方法

我们首先创建一个可调用的类库,以“繁简体相互转换”为例,当然你也可以创建其他的,比如获取配置文件、http请求帮助类等。

这里使用的环境是vs2019, .NET Core2.1,使用.NET也可以,这里可根据自己的使用环境创建。

注意:类库是什么环境,引用也需要什么环境。(.NET Core和.NET不能相互混用)。

创建一个.NET Core类库项目,命名为“XiongZeUtils”(自定义命名),然后在类库项目下创建一个繁简体项目转换的类,命名为“xzUtils”(自定义)。

注意,繁简体相互转换需要现在NuGet引入包ChineseConverter,然后在类里面引用using Microsoft.International.Converters.TraditionalChineseToSimplifiedConverter,如下:

创建完成后记得需要先编译生成dll文件

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;
        }
    }
}

创建完成后记得需要先编译生成dll文件


回到顶部

NuGet发布到服务器

1、登录NuGet账号获取API keys

官网地址:https://www.nuget.org/

如果你有Microsoft 帐户,直接登录即可。如果没有则需去创建一个。

NuGet登录快捷入口:https://www.nuget.org/users/account/LogOn

(注册地址入口比较难找,下面快捷入口直接点击即可注册)

NuGet注册账号快捷入口:https://signup.live.com/?lic=1

备用方案:

NuGet.org 上的个人帐户:https://docs.microsoft.com/en-us/nuget/nuget-org/individual-accounts

获取您的 API 密钥:https://docs.microsoft.com/en-us/nuget/quickstart/create-and-publish-a-package-using-visual-studio?tabs=netcore-cli

获取您的 API 密钥

  1. 登录您的 nuget.org 帐户或创建一个帐户(如果您还没有)。有关创建帐户的更多信息,请参阅个人帐户。
  2. 选择您的用户名(在右上角),然后选择API Keys。
  3. 选择Create,为您的密钥提供一个名称,选择Select Scopes > Push。为Glob 模式输入 * ,然后选择Create。(有关范围的更多信息,请参见下文。)
  4. 创建密钥后,选择复制以在 CLI 中检索您需要的访问密钥:
  5. 重要提示:将您的密钥保存在安全位置,因为您以后无法再次复制该密钥。如果返回 API 密钥页面,则需要重新生成密钥才能进行复制。如果您不想再通过 CLI 推送包,您也可以删除 API 密钥。

范围允许您为不同的目的创建单独的 API 密钥。每个密钥都有其到期时间范围,并且可以限定为特定的包(或 glob 模式)。每个键也适用于特定操作:推送新包和更新、仅推送更新或下架。通过范围界定,您可以为为您的组织管理包的不同人员创建 API 密钥,以便他们仅拥有所需的权限。有关更多信息,请参阅作用域 API 密钥。


2、下载Nuget.exe并发布项目

点击下载nuget.exe

https://www.nuget.org/downloads

我这里下载的是5.9.1版本的,版本这里没有特别的要求。

这里只有6M多一点,下载太慢了,我把下载好的放在gitee上,大家直接点击下载解压即可。

下载地址1(git):https://gitee.com/xiongze/nugetexe-file.git

下载地址2(百度网盘):https://pan.baidu.com/s/1RIbJXzn3aoKWURB_VRjx3w 提取码:xion


3、NuGet发布到服务器

将下载下来的nuget.exe与刚才新建的类库放在同一目录下。

配置发布信息,并将发布路径指向或拷贝到与刚才新建的类库放在同一目录下。

或者 C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Visual Studio 2019\Visual Studio Tools

命令提示定位到Nuget.exe所在的目录

双击运行 Developer Command Prompt for VS 2019 cd到项目类库的目录

③通过命令 nuget setapikey xxxxx-xxxx-xxx-xxxx-xxxx-xxxx (我们上面nuget copy的key), 设置API Key

通过命令 nuget setapikey xxxxx-xxxx-xxx-xxxx-xxxx-xxxx , 设置API Key;

④生成xxxx.nuspec文件

nuspec是NuGet将项目打包成nupkg的输入文件,可以通过nuget spec命令产生。
通过命令
nuget spec 生成xxxx.nuspec文件;

⑤NuGet发布到服务器

通过命令 nuget.exe push xxxxx.nupkg -Source https://www.nuget.org ,将NuGet发布到服务器。

打包成功后,这里需要等待3-10分钟左右,打包成功后nuget就能查询到我们打包的引用了,如果没有的多等待一下。


回到顶部

使用NuGet包

我们这个时候就可以在NuGet里面搜索到我们的类库了,我们引入进来使用一下。

在项目中引入我们的nuget包,然后调用得到下面内容




欢迎点赞+转发+关注!大家的支持是我分享最大的动力!!!

相关推荐

有些人能留在你的心里,但不能留在你生活里。

有时候,你必须要明白,有些人能留在你的心里,但不能留在你生活里。Sometimes,youhavetorealize,Somepeoplecanstayinyourheart,...

Python学不会来打我(34)python函数爬取百度图片_附源码

随着人工智能和大数据的发展,图像数据的获取变得越来越重要。作为Python初学者,掌握如何从网页中抓取图片并保存到本地是一项非常实用的技能。本文将手把手教你使用Python函数编写一个简单的百度图片...

软网推荐:图像变变变 一“软”见分晓

当我们仅需要改变一些图片的分辨率、裁减尺寸、添加水印、标注文本、更改图片颜色,或将一种图片转换为另一种格式时,总比较讨厌使用一些大型的图像处理软件,尤其是当尚未安装此类软件时,更是如此。实际上,只需一...

首款WP8.1图片搜索应用,搜照片得资料

首款WP8.1图片搜索应用,搜照片得资料出处:IT之家原创(天际)2014-11-1114:32:15评论WP之家报道,《反向图片搜索》(ReverseImageSearch)是Window...

分享一组美图(图片来自头条)(头条美女头像)

...

盗墓笔记电视剧精美海报 盗墓笔记电视剧全集高清种子下载

出身“老九门”世家的吴邪,因身为考古学家的父母在某次保护国家文物行动时被国外盗墓团伙杀害,吴家为保护吴邪安全将他送去德国读书,因而吴邪对“考古”事业有着与生俱来的兴趣。在一次护宝过程中他偶然获得一张...

微软调整Win11 24H2装机策略:6月起36款预装应用改为完整版

IT之家7月16日消息,微软公司今天(7月16日)发布公告,表示自今年6月更新开始,已默认更新Windows1124H2和WindowsServer2025系统中预装...

谷歌手把手教你成为谣言终结者 | 域外

刺猬公社出品,必属原创,严禁转载。合作事宜,请联系微信号:yunlugongby贾宸琰编译、整理11月23日,由谷歌新闻实验室(GoogleNewsLab)联合Bellingcat、DigD...

NAS 部署网盘资源搜索神器:全网资源一键搜,免费看剧听歌超爽!

还在为找不到想看的电影、电视剧、音乐而烦恼?还在各个网盘之间来回切换,浪费大量时间?今天就教你如何在NAS上部署aipan-netdisk-search,一款强大的网盘资源搜索神器,让你全网资源...

使用 Docker Compose 简化 INFINI Console 与 Easysearch 环境搭建

前言回顾在上一篇文章《搭建持久化的INFINIConsole与Easysearch容器环境》中,我们详细介绍了如何使用基础的dockerrun命令,手动启动和配置INFINICon...

为庆祝杜特尔特到访,这个国家宣布全国放假?

(观察者网讯)近日,一篇流传甚广的脸书推文称,为庆祝杜特尔特去年访问印度,印度宣布全国放假,并举办了街头集会以示欢迎。菲媒对此做出澄清,这则消息其实是“假新闻”。据《菲律宾世界日报》2日报道,该贴子...

一课译词:毛骨悚然(毛骨悚然的意思是?)

PhotobyMoosePhotosfromPexels“毛骨悚然”,汉语成语,意思是毛发竖起,脊梁骨发冷;形容恐惧惊骇的样子(withone'shairstandingonend...

Bing Overtakes Google in China&#39;s PC Search Market, Fueled by AI and Microsoft Ecosystem

ScreenshotofBingChinahomepageTMTPOST--Inastunningturnintheglobalsearchenginerace,Mic...

找图不求人!6个以图搜图的识图网站推荐

【本文由小黑盒作者@crystalz于03月08日发布,转载请标明出处!】前言以图搜图,专业说法叫“反向图片搜索引擎”,是专门用来搜索相似图片、原始图片或图片来源的方法。常用来寻找现有图片的原始发布出...

浏览器功能和“油管”有什么关联?为什么要下载

现在有没有一款插件可以实现全部的功能,同时占用又小呢,主题主要是网站的一个外观,而且插件则主要是实现wordpress网站的一些功能,它不仅仅可以定制网站的外观,还可以实现很多插件的功能,搭载chro...