DLL文件——让我来管理(二)

一、概要

       上期回顾:上篇博客我们说到了Dll文件的含义和作用,知道了它的可复用性强,灵活性高,耦合性低,可扩展性良好,使用资源较少等特点,同时我们也介绍了如何利用nuget来管理和使用我们需要的dll文件,可是也留下了一个问题,那就是用Nuget管理我们自己的Dll文件

       本期要点:当我们需要用到自己写的dll文件时,可以直接右击-添加引用-浏览,然后找到相应的dll文件,添加即可。

        可是这样问题也就出来了,如果我们多个人同时使用一个dll文件,那么我们对这个文件修改之后,如何保证所有的人都跟着改变了呢?难道要我们改一次,给所有的人重新发一次,然后他们每个人都重新引用一遍吗?

        当然,这不不能说不是一个办法,可是我们的工作效率会大大降低。因此我们需要有一个工具来统一的管理我们的DLL文件,那么我们就说一下如何用nuget管理我们自己的dll文件

二、发布

      (假设此时我们已经开发好了一个类库.)

      1.下载NuGet.exe

        下载地址:点击打开链接并将它放到和.csproj文件在同一目录下.这个是打包用的好工具,它可以将我们的工程文件打包.

      2.注册

        在NuGet官网注册一个账号,验证后可获得一个API Key.我们暂时管它叫my_api_key.注册地址:点击打开链接

      3.设置API Key.

         为防止出错建议使用  开始--VS2012--Visual Studio Tools--VS2012开发人员命令提示.
         输入以下命令设置NuGet API Key:  nuget setApiKey ‘my_api_key’ 例如:nuget setApiKey 979b13f9-a56d-4e50-bfaa-0aa8a0af3979 

                          

          如图,先输入类库所在的系统盘符(g:),然后输入cd+.csproj文件所在目录(如上图第二句),最后输入:nuget setApiKey ‘my_api_key’ 

      4.修改AssemblyInfo.cs文件

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

      5.生成.nuspec文件

       在命令提示符下,进入.csproj文件所在目录,运行nuget spec 命令,将生成.nuspec文件,比如我这里生成了ITOO.Library.EFBase.nuspec.
                                                     

      6.修改.nuspec文件

        打开刚才生成的.nuspec文件,如下图,去掉没用的东西(红框圈住的),然后其他项要与AssemblyInfo.cs文件中的一一对应。


      修改完后为:

                          

       这里强调一下,以上信息必填,虽说这些信息可以直接从AssemblyInfo.cs文件中自动读过来,但是很多时候是读不过来的,所以需要手写,尤其是在重新发布的时候。

       7.生成.nupkg文件

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

                                                             

       8.发布类库包

          最后输入命令:nuget push ITOO.Library.EFBase.1.0.0.0.nupkg。会提示发布成功.

                

       这样生成以后,我们就可以在nuget中搜索自己发布的dll,然后来选择引用了。由于上篇文章已经介绍过,所以不再多说

三、更新

        如果我们的dll文件做了修改,需要重新发布的时候,我们就可以按照以上4-8的步骤走一遍,然后去nuget中搜索更新版本即可。如果出现问题,可以参考NuGet 发布类库,依赖项的问题



        小编总结:至此,我们简单的了解了Dll文件,以及利用nuget来管理我们的dll文件。但是关于Dll动态链接库更加深入的知识我们都没涉及到,不过dll的确给我们带来了很大的便利,同时它也告诉了我们一种思想,面向对象的封装、抽象的思想,我们要把复杂的东西简单化,简单的东西打包成一个整体,这样我们在使用起来会非常的方便。由此看出,我们的学习不只只是学习,更重要的是思考如何学习,希望大家在之后的学习中能够认真的思考。




  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 11
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值