加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

.net – 了解dll及其在Visual Studio中的工作方式

发布时间:2020-12-14 04:34:25 所属栏目:Windows 来源:网络整理
导读:有没有人在dll上有一个很好的资源以及如何在Visual Studio中使用/生成它们?我特别朦胧的一些问题是: 刷新文件的工作原理 如何生成DLL版本号 通过项目添加引用与浏览特定dll之间的区别 欢迎任何其他提示. .NET DLL的 .NET DLL的一般术语是程序集.它们是单个
有没有人在dll上有一个很好的资源以及如何在Visual Studio中使用/生成它们?我特别朦胧的一些问题是:

>刷新文件的工作原理
>如何生成DLL版本号
>通过项目添加引用与浏览特定dll之间的区别

欢迎任何其他提示.

.NET DLL的

.NET DLL的一般术语是程序集.它们是单个原子部署单元,由一个或多个CLR“模块”组成(对于大多数开发人员而言通常只有一个,除非他们将两种或更多种语言的编译器输出结合起来).程序集包含CIL代码和CLR元数据,例如程序集清单.

.refresh文件

.refresh文件只是简单的文本文件,告诉VS在哪里检查引用的dll的新版本.它们用于基于文件的Web项目,其中没有用于存储此信息的项目文件.

版本号

.NET程序集版本号由程序集范围属性AssemblyVersion生成,该属性通常位于名为“AssemblyInfo.cs”的源文件中(位于VS2005以后名为“Properties”的项目文件夹下).版本号由major.minor.build.revision组成,例如 –

[assembly:AssemblyVersion(“1.0.0.0”)]

AssemblyVersion用作程序集标识的一部分(即以其强名称),并在绑定过程和版本策略决策期间发挥重要作用.

例如,如果我在GAC中有两个同名的程序集,那么AssemblyVersion属性会区分它们以便加载特定版本的程序集.

AssemblyVersion编号可以手动修复和递增,或者您可以允许编译器通过指定以下内容为您生成构建和修订号:

[assembly:AssemblyVersion(“1.0.*”)] – 生成构建和修订号
[assembly:AssemblyVersion(“1.0.0.*”)] – 生成修订号

如果AssemblyVersion属性不存在,则版本号默认为“0.0.0.0”.

AssemblyVersion属性的值成为程序集清单的一部分,而AssemblyFileVersion属性值则不会.

AssemblyFileVersion属性用于将Win32文件版本嵌入DLL中.如果不存在则使用AssemblyVersion.它与.NET程序集加载程序/解析程序如何选择加载哪个版本的程序集无关.

项目参考与浏览DLL

如果要添加项目引用,则意味着引用的项目将成为解决方案的一部分.这使得调试更简单,因为它能够直接进入您引用的项目代码.如果您只添加一个dll引用,那么您将无法获得项目作为解决方案一部分的好处,并且能够进入解决方案中的代码.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读