【.NET】NuGet发布类库包,轻松管理dll文件
来源:互联网 发布:大数据 精准医疗 ppt 编辑:程序博客网 时间:2024/05/16 03:24
大中型项目中总是有专门人员去开发和维护底层类库的,封装自己的类库不仅可以提高代码的复用度,减少开发量,使代码更简洁,还可以提高运行速度.但是,类库方法的增加与修改导致使用该类库的系统开发人员频繁地删除和添加引用.如果底层dll文件过多,任何一次变动都将导致高错误率的修改!!为了方便管理dll文件,我们使用NuGet动态更新的方式.
如果您是类库的开发者与维护者,请阅读发布篇.如果您是基于类库的开发者,请阅读使用篇.
发布篇:
(假设此时您已经开发好了一个类库.)
1.下载NuGet.exe,并将它放到和.csproj文件在同一目录下.这个是打包用的好工具,它可将我们的工程文件打包.
下载地址:http://nuget.codeplex.com/downloads/get/669083
2.在NuGet官网注册一个账号,验证后可获得一个API Key.我们暂时管它叫my_api_key.
注册地址:https://www.nuget.org/
然后设置API Key.
为防止出错建议使用 开始--VS2012--Visual Studio Tools--VS2012开发人员命令提示.
输入以下命令设置NuGet API Key: nuget setApiKey <my_api_key>
3.设置您的AssemblyInfo.cs文件中的属性版本等,第一次就使用1.0.0.0吧.保存设置并编译整个项目.
4.在命令提示符下,进入.csproj文件所在目录,运行nuget spec 命令,将生成.nuspec文件,比如我这里生成了ITOO.Library.EFBase.nuspec.
5.用notepad++打开该文件,修改其中的某些值,没用的可以删掉.$$之间的可以不用管,会自动引用AssemblyInfo.cs中的设置值.如果您还不确定哪里需要修改哪里需要删除,先往下做吧,待会提示警告,可以再修改.
6.同样在命令提示符下,进入.csproj的文件目录,输入命令生成类库包,以我的为例,命令如下:
Nuget packITOO.Library.EFBase.csproj .成功后生成.nupkg文件,如我这里生成了ITOO.Library.EFBase.1.0.0.0.nupkg
7.最后发布类库包即可,输入命令:nuget push ITOO.Library.EFBase.1.0.0.0.nupkg
会提示发布成功.
使用篇:
1.新建一个项目,右键选择Manage NuGet Packages,搜索上面已经成功发布的包名,看我这里
安装完成,您的项目已经自动添加了引用.
开发篇(续)
8.类库需要修改,修改完成后要去AssemblyInfo.cs中修改版本号,一切修改完成后编译保存.
然后生成类库包并发布.即同样还是命令提示符下,进入.csproj的文件目录,分别运行两个命令:
(1)生成类库包,以我的为例:
Nuget packITOO.Library.EFBase.csproj
(2)发布类库包,以我的为例:
nuget pushITOO.Library.EFBase1.0.0.1.nupkg
使用篇(续)
2.在项目上右键选择Manage NuGet Packages,在更新中可以看到我们要引用的类库包,点击更新即可.
至此,这一小问题算是解决了,随着开发不断推进,问题肯定还会再出现,我们且行且解决.
最后提醒大家一下,已建立的类库应该是一个单独的解决方案.不然会出错的.谢谢大家使用中遇到问题与我交流.
----------------------------------------------------------转载请注明出处------------------------------------------------------------
- 【.NET】NuGet发布类库包,轻松管理dll文件
- Nuget发布与dll文件引用
- NuGet管理dll包--dll包的发布与引用
- 【Nuget】Nuget发布类库包
- Nuget发布Dll
- 使用Nuget管理dll
- 使用Nuget管理dll
- 使用Nuget管理dll
- 【ITOO】NuGet发布类库包
- NuGet发布类库包
- nuget下载dll库文件
- 怎样发布dll到nuget库
- NuGet管理dll包---与NuGet的邂逅
- .net利用nuget管理类库包——各系统交互
- Nuget发布
- NuGet发布
- NuGet发布
- nuget发布
- 飞信发送免费短信的api
- 频点、频带、信道
- android共享首选项 sharedpreferences(6)
- 2014下半年广西教师资格面试课程12月13日开班!
- try块和异常处理
- 【.NET】NuGet发布类库包,轻松管理dll文件
- bootstrap插件bootbox参数和自定义弹出框宽度设置
- 设计模式_单例模式
- 初窥Foundation框架
- iOS 归档
- 项目面试
- 函数
- 函数声明
- 第15周矩阵对角线之和