初识NuGet,实战NuGet

当你一直都在做小项目的时候,可能你永远也不会使用到NuGet工具。NuGet用于管理第三方的组件(无论是库还是工具),只需要建立一个NuGet
Package的包,建在NuGet的站点上,就做到了共享便捷,更新同步的工作!类似于云,共享一片天空,而且是同一片云!对于NuGet的解释,专业的说法是:NuGet是一个.NET平台下的开源的项目,是Visual
Studio 扩展,它能够简化在 Visual Studio 项目中添加、更新和删除库(部署为程序包)的操作。 NuGet 产品也同样能够轻松创建和发布程序包的实用工具。不得不感叹微软的强大,net平台的伟大,接下来就带大家一起来看看NuGet能为我们做什么?

从一件事情的发展顺序来说,NuGet是用来管理项目库(下面的我统一称为程序包。NuGet
程序包是打包成一个文件的文件集,扩展名是 . nupkg,使用开放打包约定(OPC) 格式)的,那么首先,程序包是应该放到哪里的呢?

1.程序包放哪里?

默认的:它们位于 nuget.org 的官方 NuGet 程序包库中。 此库公开了一个 OData 源:packages.nuget.org/v1/FeedService.svc。

一般在NuGet官网注册一个账号,验证后可获得一个API Key,它就是以后我们用来发布程序包的APIKey。

还有一种情况,自己搭建NuGet服务器,发布后,然后在VS中添加本地站点到包包数据源。自己全权管理自己的程序包。不借助于第三方平台。(推荐一篇博客,图文并茂的讲解如何搭建自己的NuGet服务器的文章《NuGet学习笔记(3)——搭建属于自己的NuGet服务器》)

2.程序包从哪里来?

一部分是微软和其他用户提供的,但是显然,尤其是在一个企业中,都有自己的一套标准规范和类库,更具有个性化的特点,这个时候,这个程序包就是从企业内部自己生成出来的。在这里简单的说一下程序包的创建和发布过程。

  • 创建一个类库项目。
  • 从项目生成 NuSpec 清单(nuget
    spec)。
  • 更新项目的程序集元数据(此信息通常位于名为 AssemblyInfo.cs 的文件中)。
  • 使用 NuGet.exe 创建程序包(nuget
    pack ProjectName.csproj)。

3.发布程序包

我们根据自己的密钥,将自己的程序包发布到库上,让全世界的人都可以看到。

  • 使用命令将其存储在安全的位置(nuget setApiKey b688a925-0956-40a0-8327-ff2251cf5f9a)
  • 存储密钥后,使用 push 命令将程序包发布到库(nuget
    push ProjectName.1.0.0. nupkg)

有一点需要注意,如果后期类库更改了,我们只需要再次创建程序包pack,再次发布push就可以了(注意版本号的更改)。

4.使用程序包

在自己的程序中安装和更新程序包即可。网上教程很多,也很简单,在这里就不具体举例了。(《使用NuGet 管理项目库》这篇博客特别好,我也参照了部分,推荐给大家)

(PS:另外刚才做的操作都可以在NuGet的控制台用命令符操作,这里不举例)

时间: 2024-10-05 23:58:06

初识NuGet,实战NuGet的相关文章

初识powershell、nuget powershell 调试

初识powershell.nuget powershell 调试 前言 老早就听说powershell很牛逼,但是没真正用过,这两天刚好用到,顺便写一下有关的,可能以后用得到的东西.本来想记一下这次使用过程中用到的一些操作的,就是这么巧,发现了个很不错的教程网站,于是我就可以偷懒了,哈哈. 相关资料 非官方在线教程网站 www.pstips.net 官方文档 入门 基本指南 操作系统要求 Windows PowerShell ISE 运行远程命令 在nuget安装包的时候进行powershell

NuGet(Nuget Packages)

Nuget是一个.NET平台下的开源的项目,它是Visual Studio的扩展.在使用Visual Studio开发基于.NET Framework的应用时,Nuget能把在项目中添加.移除和更新引用的工作变得更加快捷方便. Nuget是 ASP .NET Gallery 的一员.NuGet 是免费.开源的包管理开发工具,专注于在 .NET 应用开发过程中,简单地合并第三方的组件库. 当需要分享开发的工具或是库,需要建立一个Nuget package,然后把这个package放到Nuget的站

初识NuGet

因为想查一查opencvsharp的东西,然后发觉这个包可以再NuGet上面可以直接下载.我也经常在很多地方都可以看到NuGet,所以我想写下来,记录下来. NuGet是一个免费的并且开源的包管理器在微软的开发平台上.NuGet发布在Visual Studio的拓展插件上. NuGet现在已经移植到代码管理平台github了,链接地址为https://github.com/nuget/home.他们打算以后新的东西都在这个网址更新了. 资源 NuGet Gallery: http://nuget

【AspNet Core】Nuget代理网站

因为访问Nuget太慢,在Dotnet Core RC2发布前,我就基于Asp.Net做了一个Nuget代理网站 这是网站地址:http://nuget.lzzy.net/ Nuget源:http://nuget.lzzy.net/api/v2 广西电信百兆带宽. 这个网站将会缓存所有访问过的API页面与包. API页面缓存的原理,第一次访问会等待服务器从Nuget上下载页面信息 下载后会替换里面的网址并保存到数据库. 第二次访问会从数据库里取出页面兵判断过期时间 如果已过期,先返回页面信息,后

使用 NuGet 管理我们的程序集 - 预发行版

1.缘起 在我们的项目中,需要引用的组件统一放在一个 Libs 目录下.无论对于平台上的公共组件,还是应用模块,都是如此. 如果一个应用模块,例如能源管理(EM),要引用平台提供的公共组件,例如数据库访问(Platform.PL),那么不但要把Platform.PL程序集拷贝到EM的Libs目录下,也要把Platform.PL所引用的程序集,也就是Platform.PL的Libs目录下的文件,拷贝到EM的Libs目录下. 随着平台上应用模块的增多,Platform.PL被引用得也越来越多.我们是

VS 中NuGet 尝试还原程序包时出错"*"已拥有为"**"定义的依赖项

之前从Git检出项目以后,项目编译不能通过,发现是缺少依赖的外部插件,于是通过NuGet去获取项目依赖的插件,如何通过NuGet恢复使用的插件请使用NuGet还原项目插件. 但是就是在使用NuGet还原依赖插件的时候,出现了"尝试还原程序包时出错"*"已拥有为"**"定义的依赖项"的错误提示,如下图: 在网上搜索好久也找不到类似的回答,最后无奈,问项目组老大,终于得到了解决方案:更新NuGet插件! 更新NuGet后,问题就解决了,至于如何更新N

win10 uwp 上传Nuget 让别人用我们的库

Nuget 我们的开发经常使用别人的dll,那么我们需要每次都从网上下载,然后复制到我们的项目, 而不知道我们的dll是否安全? 当我们的库更新的时候,我们又需要从网上搜索,这样不好,于是我们就用Nuget,Nuget可以 让我们把我们做出来的东西发在网上让别人下载,需要搜索名称就可以下载,然后更新会通知 本文主要讲我们如何制作一个库上传Nuget,让别人可以使用,做法很简单,先下载软件后制作,上传. 下载 首先下载 nuget.exe https://dist.nuget.org/win-x8

nuget国内镜像的解决办法

不求人,在阿里云上安一个nuget镜像站,这样就能愉快编程了. 主要是利用nginx 的反向代理+缓存功能+响应文本的替换 proxy_cache_path /data/nuget-cache levels=1:2 keys_zone=nuget-cache:20m max_size=10g inactive=168h; server{listen 80;server_name nuget.kwok.io; location /packages/{proxy_ignore_headers Set

Nuget Server 搭建

每个女人都有很多包包:其实男人也有,但只有会写程序的男人才有 -- 代码世界中的大"包"小"包".这些大包小包,有花钱买的,有从开源市场淘的,也有自己或同事亲手制作的. 包包有个特点:容易坏,更新快,新品多.于是,市场上有了包包专卖店,家里有了专门放包包的衣橱.于是,女人经常逛街买包包,经常整理衣橱里的包包.而男人呢,不喜欢逛街,不喜欢整理...面对越来越多的包包,很多人发出感叹:做"会写程序的男人"难! 终于有人无法忍受这些大包小包的困扰,一款