上期回顾:上篇博客我们说到了Dll文件的含义和作用,知道了它的可复用性强,灵活性高,耦合性低,可扩展性良好,使用资源较少等特点,同时我们也介绍了如何利用nuget来管理和使用我们需要的dll文件,可是也留下了一个问题,那就是何用Nuget管理我们自己的Dll文件。
本期要点:当我们需要用到自己写的dll文件时,可以直接右击-添加引用-浏览,然后找到相应的dll文件,添加即可。
可是这样问题也就出来了,如果我们多个人同时使用一个dll文件,那么我们对这个文件修改之后,如何保证所有的人都跟着改变了呢?难道要我们改一次,给所有的人重新发一次,然后他们每个人都重新引用一遍吗?
当然,这不不能说不是一个办法,可是我们的工作效率会大大降低。因此我们需要有一个工具来统一的管理我们的DLL文件,那么我们就说一下如何用nuget管理我们自己的dll文件。
(假设此时我们已经开发好了一个类库.)
在NuGet官网注册一个账号,验证后可获得一个API Key.我们暂时管它叫my_api_key.注册地址:点击打开链接
如图,先输入类库所在的系统盘符(g:),然后输入cd+.csproj文件所在目录(如上图第二句),最后输入:nuget setApiKey ‘my_api_key’
设置咱们的AssemblyInfo.cs文件中的属性版本等,第一次就使用1.0.0.0吧.保存设置并编译整个项目.
在命令提示符下,进入.csproj文件所在目录,运行nuget spec 命令,将生成.nuspec文件,比如我这里生成了ITOO.Library.EFBase.nuspec.
打开刚才生成的.nuspec文件,如下图,去掉没用的东西(红框圈住的),然后其他项要与AssemblyInfo.cs文件中的一一对应。
修改完后为:
这里强调一下,以上信息必填,虽说这些信息可以直接从AssemblyInfo.cs文件中自动读过来,但是很多时候是读不过来的,所以需要手写,尤其是在重新发布的时候。
同样在命令提示符下,进入.csproj的文件目录,输入命令生成类库包,以我的为例,命令如下:Nuget pack ITOO.Library.EFBase.csproj。成功后生成.nupkg文件,如我这里生成了ITOO.Library.EFBase.1.0.0.0.nupkg
最后输入命令:nuget push ITOO.Library.EFBase.1.0.0.0.nupkg。会提示发布成功.
这样生成以后,我们就可以在nuget中搜索自己发布的dll,然后来选择引用了。由于上篇文章已经介绍过,所以不再多说
如果我们的dll文件做了修改,需要重新发布的时候,我们就可以按照以上4-8的步骤走一遍,然后去nuget中搜索更新版本即可。如果出现问题,可以参考NuGet 发布类库,依赖项的问题
小编总结:至此,我们简单的了解了Dll文件,以及利用nuget来管理我们的dll文件。但是关于Dll动态链接库更加深入的知识我们都没涉及到,不过dll的确给我们带来了很大的便利,同时它也告诉了我们一种思想,面向对象的封装、抽象的思想,我们要把复杂的东西简单化,简单的东西打包成一个整体,这样我们在使用起来会非常的方便。由此看出,我们的学习不只只是学习,更重要的是思考如何学习,希望大家在之后的学习中能够认真的思考。
原文:http://blog.csdn.net/u010168160/article/details/43835377