Nuget管理我们的类库

随着我们做的项目规模和业务的复杂,相互之间的引用更不可避免,如果一个类,有一个人需要可以通过拷贝的方式,有更新的话也容易通知,如果有更多的人都要使用它,不可能一个个的拷贝,如果有更新,也不可能一个个去通知,效率低,而且很容易出问题,万一落下一个人怎么办。Nuget的出现,可以管理我们通用公共的类库,而且通过版本控制,需要的人也可以随时拿到最新版本。个人认为NuGet最大的好处在于可以搭建自己的类库服务器,在一些较大些的公司里面有很多的项目,其中有一些甚至是整个公司通用的类库,当这些类库有更新后我们需要依次拷贝到我们的项目,甚至于有时候我们自己都搞不清楚各个项目里的版本是否一致,偶尔一两个项目忘了复制更新出现莫名其妙的错误,现在有了NuGet,世界从此而不同。

第一:在NuGet上注册并获取APIKey

到NuGet上注册一个新的账号,然后在My Account页面,获取这个API Key。

第二:下载NuGet.exe

使用前需要下载,下载地址:http://nuget.codeplex.com/downloads/get/669083,并将它放到和.csproj文件在同一目录下。为了方便使用,设置机器的PATH环境变量,将其NuGet.exe的路径添加到PATH变量中。

第三:设置NuGet API Key

登录NuGet官网,找到自己的ApiKey,然后使用以下命令设置:
nuget setApiKey <my_api_key>

第四:设置版本号

设置您的AssemblyInfo.cs文件中的属性版本等,第一次就使用1.0.0.0吧.保存设置并编译整个项目。

第五:产生并修改nuspec

nuspec是NuGet将项目打包成nupkg的输入文件,在命令提示符下,进入.csproj文件所在目录,我的目录为F:\项目中成长\成绩管理V2.0\2.框架\ITOO.ResultTeacherHomework.Service\ITOO.ResultTeacherHomework.ViewModel。先找到F盘目录下,然后执行nuget
spec 命令,

将生成.nuspec文件。

用记事本打开该文件,修改其中的某些值,没用的可以删掉.$$之间的可以不用管,会自动引用AssemblyInfo.cs中的设置值.如果您还不确定哪里需要修改哪里需要删除,先往下做,待会提示警告,可以再修改.

第六:产生类库包

同样在命令提示符下,进入.csproj的文件目录,输入命令生成类库包,以我的为例,命令如下:Nuget
pack ITOO.ResultTeacherHomework.ViewModel.csproj,成功后生成.nupkg文件。

第七:发布类库包

输入命令: nuget push ITOO.ResultTeacherHomework.ViewModel.1.0.0.0.nupkg,会提示发布成功。

最后发布这里因为Nuget官网上面有重名的,所以推送不到服务器上,提示该错误。

第八:使用自己发布Nuget包

在自己的项目引用中,右键选择管理NuGet
程序包,搜索上面已经成功发布的包名,安装完成,您的项目已经自动添加了引用,如有更新,直接选择更新即可。

Nuget真的很强大,好好利用这些工具,提高效率!

时间: 2024-10-24 10:33:30

Nuget管理我们的类库的相关文章

.net利用nuget管理类库包——各系统交互

高校云平台,开发过程中,每个团队开发一个子系统.每个子系统内部又分别开个各子模块. 对于整个平台来说,各自的开发不影响其他人的开发.即面向接口的编程. 那么对于各个模块来说,又是如何统一调用其他模块的接口的呢? 在开发过程中,接口的开发与使用 肯定是不定时更新的.那么整个平台就肯定使用一个工具来统一管理 各个模块的接口. 使用nuget进行管理各个模块的类库.每个发布一个自己的接口.如果调用其他的系统,则进行引用. 例如,考试系统的数据,大都来自与基础系统.所以需要引用平台下,基础系统的dll文

使用CocoaPods管理第三方开源类库

iOS开发中经常会用到许多第三方类库,比如AFNetworking.FMDB.JSONKit等等,使用CocoaPods这个工具就能很方便得对工程中用到的类库进行管理,包括自动下载配置以及更新. 首先需要下载安装CocoaPods,系统要求有ruby环境,至少OS X 10.9以后是自带ruby环境的(Python也自带了),使用"ruby -v"命令可以查看当前ruby版本. 配置过程如下: 1.ruby环境 不放心的话可以先确认下ruby环境,据说由于GFW的影响,大都把Ruby镜

转一篇dudu大人的文章:程序员,用NuGet管理好你的包包

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

Nuget~管理自己的包包~丢了的包包快速恢复

之前写过一篇Nuget~管理自己的包包的文章,今天来讲Nuget的另一个东西,就是找回丢失的DLL,我们在引用包包后,在当前解决方案根目录就生成一个packages的目前,里面有我们从nuget下载的DLL组件,其实包括了微软自己的扩展组件,如MVC,Razor等等,当然我们安装的第三方组件也在其中,由于我们的包包被安装到了当前解决方案的根目录,所以,当你这个解决方案被勿删除后,对于其实解决方案就产生了影响,因为你的包包默认是在先前的解决方案目录的. 下面说一下自动快速恢复包包的方法: 1 设置

Nuget~管理自己的包包

很久很久以前,自己就想有个包包,最近又从网上淘了一个,价格不便宜呢,99块,还是个小腰包,不过作工还算精良,我喜欢的类型,帆布休闲包,可以将我的手机,耳机,水,小烟,小酒,小伞都放里,方便至极,哈哈! 对于我们做软件的人来说,如何把自己写的组件,框架放在包包里进行管理,也是一门学问,原来自己的组件都是很乱了,没有版本的概念,在升级后,很多旧的项目都无法正常工作了,这对于我来说很是头疼,还好最近看到了nuget很是不错,就用了一把,现在感觉已经离不开它了,下面介绍一下生成自己包包的方法 1 下载工

NuGet——发布自己的类库包

简单介绍: NuGet是.Net平台下的一个开源项目,它是VS的一个扩展,在使用VS开发基于.NET  Framework的应用时,NuGet能够把项目中添加,删除,更新引用的工作变得更加快捷方便.简单点,NuGet就是可以把DLL文件/文件添加到项目中,进而省略了繁琐而古老的拷贝方式. 学习背景: 刚接手系统的时候,是因为自己对于需求特别的了解,但是由于之前的种种原因,自己对于这短时间学习的了解的新知识是一无所知啊!所以当时接手的第一感觉就是学生端--我该如何调用其他的接口呢?如果拷贝/调用-

手把手教你----使用Nuget管理自己的项目库

什么是NuGet? 官网上的解释:NuGet is the package manager for the Microsoft development platform including .NET. The NuGet client tools provide the ability to produce and consume packages. The NuGet Gallery is the central package repository used by all package a

使用NuGet发布自己的类库包(Library Package)

STEP 1:注册并获取API Key 首先,你需要到NuGet上注册一个新的账号,然后在My Account页面,获取一个API Key,这个过程很简单,我就不作说明了. STEP 2:下载NuGet.exe NuGet有个命令行工具:NuGet.exe;为了方便使用,请设置机器的PATH环境变量[exe所在目录],将NuGet.exe的路径添加到PATH中. 在http://nuget.codeplex.com/releases页面底部找到NuGet.exe,点击下载即可 STEP 3:设置

【转】使用 NuGet 管理项目库-Phil Haack

原文地址:https://msdn.microsoft.com/zh-cn/magazine/hh547106.aspx 无论多么努力,Microsoft 也没办法提供开发人员所需要的每一个库. 虽然 Microsoft 在全球的员工人数接近 90,000,但全球的开发人员数以百万计. 指望 Microsoft 满足每一个人的需求是不现实的,也不可想像.因此,开发人员通常得自己动手解决问题,他们目前已经编写了成千上万的实用库,并将其发布到 Web 上. 如何共享如此多的库是一个令人头痛的问题.