关于清单文件

简介:

来自网上,在此感谢作者。

那么到底什么是 .manifest 文件呢?他有什么用,以前为什么没有?
后来,经过艰苦努力,终于得知,原来这一切都是Windows 的Assembly Manifest搞的鬼。这个东东的作用就是为了解决 以前windows上的“Dll 地狱” 问题才产生的新的DLL管理解决方案。大家知道,Dll是动态加载共享库,同一个Dll可能被多个程序所使用,而所谓“Dll 地狱”就是当不通程序依赖的Dll相同,但版本不同时,由于系统不能分辨到底哪个是哪个,所以加载错了Dll版本,然后就挂了。于是盖茨就吸取了教训,搞了一个程序集清单的东东,每个程序都要有一个清单,这个清单存再和自己应用程序同名的.manifest文件中,里面列出其所需要的所有依赖,这儿所列出的依赖可不是简单地靠文件明来区分的,而是根据一种叫做“强文件名”的东西区分的,那么什么是强文件名呢?我们来看一下这个.manifest文件便知道了。

 
  
 
  
 
  
 
  
 
  
 
  
 
  
 
  
 
  
 
  
 
  
 
  
 
  
 
  
 
 

我们发现原来这是一个XML格式的文件,其中<dependency>这一部分指明了其依赖于一个名字叫做Microsoft.VC80.CRT的库。但是我们发现,<assemblyIdentity>属性里面还有其它的东东,分别是
type系统类型,version版本号,processorArchitecture平台环境,publicKeyToken公匙(一般用来标示一个公司)……把他们加在一起便成了“强文件名”了,有了这种“强文件名”,我们就可以根据其区分不同的版本、不同的平台……总之,有了这种强文件名,系统中可以有多个不同版本的相同的库共存而不会发生冲突。

本文转自zdd博客园博客,原文链接: http://www.cnblogs.com/graphics/archive/2010/05/21/1740698.html ,如需转载请自行联系原作者
相关文章
|
3月前
|
Android开发
Android在rootdir根目录创建自定义目录和挂载点的方法
本文介绍了在Android高通平台的根目录下创建自定义目录和挂载点的方法,通过修改Android.mk文件并使用`LOCAL_POST_INSTALL_CMD`变量在编译过程中添加目录,最终在ramdisk.img的系统根路径下成功创建了`/factory/bin`目录。
180 1
|
Android开发
Android关于Manifest清单文件name报错
在清单文件的根目录加上package 里面的是你的包名 activity的name,前面有个点是接上了你的package名,省略了包名,不然 com.yyt.accountbooks.activity.LoginActivity这样就是不简写的。
90 0
|
存储 XML Java
Android清单文件详解(一) ---- 一切从<manifest>开始
Android清单文件详解(一) ---- 一切从<manifest>开始
449 0
Android清单文件详解(一) ---- 一切从<manifest>开始
|
安全 开发工具 Android开发
Android清单文件详解(五)----<application>的属性详解(三)
Android清单文件详解(五)----<application>的属性详解(三)
355 0
Android清单文件详解(五)----<application>的属性详解(三)
|
Java Shell Android开发
Android清单文件详解(五)----<application>的属性详解(一)
Android清单文件详解(五)----<application>的属性详解(一)
463 0
Android清单文件详解(五)----<application>的属性详解(一)
|
前端开发 Java 开发工具
Android清单文件详解(五)----<application>的属性详解(二)
Android清单文件详解(五)----<application>的属性详解(二)
359 0
Android清单文件详解(五)----<application>的属性详解(二)
|
监控 Java 物联网
Android清单文件详解(二) ---- 应用程序权限声明(二)
Android清单文件详解(二) ---- 应用程序权限声明(二)
252 0
Android清单文件详解(二) ---- 应用程序权限声明(二)
|
存储 监控 Java
Android清单文件详解(二) ---- 应用程序权限声明(一)
Android清单文件详解(二) ---- 应用程序权限声明(一)
404 0
Android清单文件详解(二) ---- 应用程序权限声明(一)
|
存储 编解码 缓存
Android清单文件详解(三)----应用程序的根节点<application>
Android清单文件详解(三)----应用程序的根节点<application>
418 0
Android清单文件详解(三)----应用程序的根节点<application>
|
XML 数据格式 Windows
什么是 .manifest 文件
恩,为了大家都能很方便的理解,我将尽量简单通俗地进行描述。[现象]对这个问题的研究是起源于这么一个现象:当你用VC++2005(或者其它.NET)写程序后,在自己的计算机上能毫无问题地运行,但是当把此exe文件拷贝到别人电脑上时,便不能运行了,大致的错误提示如下:应用程序配置不正确,请重新安装程序……或者是MSVCR80D.dll 没有找到什么的(我记得不是很清楚,不过大致是这样的)[分析]看到这样的提示,当然不会傻到重装咯。
2056 0