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的确给我们带来了很大的便利,同时它也告诉了我们一种思想,面向对象的封装、抽象的思想,我们要把复杂的东西简单化,简单的东西打包成一个整体,这样我们在使用起来会非常的方便。由此看出,我们的学习不只只是学习,更重要的是思考如何学习,希望大家在之后的学习中能够认真的思考。

时间: 2024-10-12 13:52:34

DLL文件——让我来管理(二)的相关文章

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

一.什么是DLL 1.含义 DLL文件又称"应用程序拓展",是软件文件类型.在Windows中,许多应用程序并不是一个完整的可执行文件,它们被分割成一些相对独立的动态链接库,即DLL文件,放置于系统中.当我们执行某一个程序时,相应的DLL文件就会被调用.一个应用程序可使用多个DLL文件,一个DLL文件也可能被不同的应用程序使用,这样的DLL文件被称为共享DLL文件 2.作用 在 Windows操作系统中,每个程序都可以使用该 DLL 中包含的功能来实现"打开"对话框

Linux两块磁盘挂载指向一个文件夹LVM磁盘管理(二)

注意:任何磁盘的操作有可能损坏里面数据,请提前备份数据,切记!切记!切记! 0x00:前言. VG卷组的总空间是受物理磁盘大小限制,本教程有3块物理磁盘分别是100M.200M.300M,那么VG卷组总空间就是600M:而VG下所有的LV累加的总空间又受限于VG. 使用过程中LV早晚会用完,那么上面的/LVM挂载点只能同时挂载一个,而有些程序不能支持有两个文件目录,比如WEB只有一个/,还有MySQL. 0x01:扩展VG卷组.缩小VG卷组. 1)扩展VG卷组. 上一章讲我看到添加了3块物理磁盘

【.NET】NuGet发布类库包,轻松管理dll文件

大中型项目中总是有专门人员去开发和维护底层类库的,封装自己的类库不仅可以提高代码的复用度,减少开发量,使代码更简洁,还可以提高运行速度.但是,类库方法的增加与修改导致使用该类库的系统开发人员频繁地删除和添加引用.如果底层dll文件过多,任何一次变动都将导致高错误率的修改!!为了方便管理dll文件,我们使用NuGet动态更新的方式. 如果您是类库的开发者与维护者,请阅读发布篇.如果您是基于类库的开发者,请阅读使用篇. 发布篇: (假设此时您已经开发好了一个类库.) 1.下载NuGet.exe,并将

C#开发奇技淫巧二:根据dll文件加载C++或者Delphi插件

原文:C#开发奇技淫巧二:根据dll文件加载C++或者Delphi插件 这两天忙着把框架改为支持加载C++和Delphi的插件,来不及更新blog了.      原来的写的框架只支持c#插件,这个好做,直接用c#的反射功能便可.但是公司不是所有人都搞C#,也不是所有的程序C#都能很好的完成,又或者其他公司提供的API不是C#的,这个时候,就需要这个框架能够支持多种语言了.      废话不多说,进入正题.     上网一搜,C#加载非托管的dll,无非就是使用 DllImportAttribut

.OCX、.dll文件注册命令Regsvr32的使用

1.打开文件,打开需要注册的OCX文件或dll文件,2.然后根据需要进行OCX文件或DLL文件的注册和反注册 DLL.OCX注册方法--文件Regsvr32用法及情况介绍 使用过activex的人都知道,activex不注册是不能够被系统识别和使用的,一般安装程序都会自动地把它所使用的activex控件注册,但如果你拿到的一个控件需要手动注册怎么办呢?如果修改注册表那就太麻烦了,在windows的system文件夹下有一个regsvr32.exe的程序,它就是windows自带的activex注

Delphi编程中软件调用EXE文件与DLL文件的体会

一.定义 EXE文件,是完整的"Windows窗体应用程序"或"控制台应用程序",它能独立执行,也能被居主EXE调用.其内部是系列类或方法构成,执行时,全部载入内存. DLL文件,全称是Dynamic Link Libaray,即动态链接库,将程序(EXE)运行所需要的类或方法的实现放在dll文件中,它的类.方法不能直接被执行,必须由一个EXE文件调用载入内存,通过类.方法形式从内存中获取(执行). 二.相同 1.二者内部结构基本一致,都是由操作系统的类.特定语言(

delphi 基础之三 编写和调用dll文件

delphi 编写和调用dll文件   Windows 的执行文件可以划分为两种形式程序和动态连接库 (DLLs).一般程序运行是用.EXE文件,但应用程序有时也可以调用存储在DLL的函数. 在如下几种情况下,调用DLL 是合理的: 1) 不同的程序使用相同的DLL ,这样只需要将DLL 在内存中装载一次,节省了内存的开销. 2) 当某些内容需要升级的时候,如果使用DLL 只需要改变DLL 就可以了,而不需要把整个程序都进行变动. 3) 由于DLL 是独立于语言的,所以,当不同语言习惯的人共同开

SVN如何忽略dll文件和bin目录

一般来说,编译之后的结果文件都会放在bin目录下.用svn做代码管理服务器的时候,肯定不希望编译的结果文件也签入进去,因此需要在客户端配置. 在checkout目录下,在svn的子菜单中 Properties,在出现的窗口中点"new"菜单,选择"Other",在弹出窗口中,Property Name选择"svn:ignore",在输入框中输入要忽略的名字,如果是bin目录,就输入bin,如果是dll文件,就输入"*.dll"

(Unity)Unity自定义Debug日志文件,利用VS生成Dll文件并使用Dotfuscated进展混淆,避免被反编译

Unity自定义Debug日志文件,利用VS生成Dll文件并使用Dotfuscated进行混淆,避免被反编译. 1.打开VS,博主所用版本是Visual Studio 2013. 2.新建一个VC项目,选择类库,取名为JefferyChan,具体步骤如下图: 3.因为要调用Unity中的相关文件,所以这里要引入外部文件.首先在Unity的安装文件夹中找到UnityEngine.dll,我的路径是:D:\Program Files (x86)\Unity\Editor\Data\Managed 如