zoukankan      html  css  js  c++  java
  • Nuget,程序员的功能包

    导读:随着信息技术的发展,资源的共享已经成为一种文化。对于程序设计来说,我们在编写软件的时候,总有那么一些公共使用的东西,或者说需啊哟使用到别人可能已经做得很好的东西。这个时候,再去重写,并不是一个明智的选择。那么,全世界的程序员,怎么共享他们的成果呢?Nuget!


    一、是什么?

    NuGet :是一种 Visual Studio 扩展,它能够简化在 Visual Studio 项目中添加、更新和删除库(部署为程序包)的操作。 NuGet 程序包是打包成一个文件的文件集,扩展名是 . nupkg,使用开放打包约定 (OPC) 格式。


    二、从哪儿来?

    2.1,Nuget的来源

    可以说,任何东西都有一个从无到有的过程,那么,Nuget包也不是从软件事业开始就有的东西。为了介绍Nuget包的来历,下面举一个例子:

    当我们想要引用别人写好的资源时,一般是什么流程?从我个人来说,是这样的一条生产线:

    搜索资料——挑选资料——下载——解压——校验是否有用——放置到解决方案的合理位置——添加引用——配置文件,然后完成这一系列的工作后,当我们需要更新时怎么办?改代码——生成——引用——集成。如果你是一个特别精细的人,或者说时间特别多,脑袋特别够使,那么,这一系列的工作对你来说,可能还不是太过繁琐和复杂。可是,对于我来说,这就会严重影响到我的效率。

    有没有一种办法,可以帮我快速的实现引用代码库和更新引用呢?Nuget,应运而生!

    2.2,Nuget程序包的来源

    我们可以从Nuget程序包中拿出东西来进行使用,那么,Nuget包里面的东西是怎么放进去的呢?

    一般情况,创建自己的程序包,有以下几个步骤:

    1,创建一个类库项目。


    2,从项目生成 NuSpec 清单。

    前提:下载一个NuGet.exe,并将它放到和.csproj文件在同一目录下.下载地址:http://nuget.codeplex.com/downloads/get/669083

    如果要将自己的类库生成NuSpec清单,首先得注册Nuget账号。注册地址:https://www.nuget.org/ ,注册完成后,会获得一个APIKey。然后,使用VS2012开发人员命令提示设置Nuget apikey:Nuget setAPIKey(此处输入注册后取得的APIKey)。注意:是在自己的项目路径下设置。



    设置好了APIKey之后,紧接着输入命令:Nuget spec。然后会在项目的文件夹下,有一个新的文件产生:

    到此,从项目生成 NuSpec 清单完成!

    3,更新项目的程序集元数据。

    打开nuspec文件,根据自己的需要,修改其中的某些值,如:版本信息,创建人等。没用的可以删掉.$$之间的可以不用管,会自动引用AssemblyInfo.cs中的设置值。

    4,使用 NuGet.exe 创建程序包。

    在命令提示符下,进入.csproj的文件目录,输入命令生成类库包,以我的为例,命令如下:
    Nuget pack Angel.csproj。成功后生成.nupkg文件,如我这里生成了Angel.1.0.0.0.nupkg。如:

    创建成功后,就是将其程序包发布推送。使用命令:nuget push Angel.1.0.0.0.nupkg。如:


    最后,解决方案中,查看Nuget包管理,就可以看到自己刚刚创建好的Nuget包了。

    三、怎样使用?

    3.1,安装

    使用Nuget包,首先需要确认已经安装上了Nuget包。如果已经安装了 ASP.NET MVC 3,则已经安装 NuGet。 ASP.NET MVC 3 包含 NuGet。如果没有,则需要进行:工具——扩展和更新——联机——Nuget packages manager——下载安装。

    3.2,引用

    当Nuget包安装好了之后,就是对他的引用:引用——管理Nuget程序包——搜索需要的程序包——下载安装——引用

    以log4net为例:下载安装


    当安装完成,则会在引用中出现:


    3.3,更新

    当我们引用的程序包邮新版本时,如果有必要更新,那么我们可以依照安装的步骤进行,当我们已经安装了程序包,再启动其对话框,就可以看见其更新标识,点击更新即可更新程序包。


    四、总结

    整体上看来,Nuget包就是一个打包封装和复用的过程,以前是一直都不明白这个Nuget包是怎么引用的,包括目前的项目中,就引用了上次大家做过的项目的一个类库,但是都不知道那是什么东西,为什么要引用,现在知道了。知识是一点一点涨的,多学点多见识点!


  • 相关阅读:
    图像处理笔记(五)
    图像处理笔记(四)
    图像处理(三)
    图像处理(二)
    图像处理(一)
    Halcon安装注意事项
    Tensorflow从开始到放弃(技术篇)
    Tensorflow从开始到放弃
    python 2.x中的中文
    WPF使用border画框
  • 原文地址:https://www.cnblogs.com/hhx626/p/6010389.html
Copyright © 2011-2022 走看看