随着我们做的项目规模和业务的复杂,相互之间的引用更不可避免,如果一个类,有一个人需要可以通过拷贝的方式,有更新的话也容易通知,如果有更多的人都要使用它,不可能一个个的拷贝,如果有更新,也不可能一个个去通知,效率低,而且很容易出问题,万一落下一个人怎么办。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真的很强大,好好利用这些工具,提高效率!