清单文件引用

来源:互联网 发布:气相色谱图数据怎么看 编辑:程序博客网 时间:2024/06/11 17:50

并行程序集与以下类型的清单和配置文件一起使用。清单和配置是 XML 文件。

清单 描述
程序集清单 描述并行程序集的名称、版本、资源和程序集依赖项。
应用程序清单 描述应用程序应在运行时绑定到的共享并行程序集的名称和版本, 还可能包含应用程序使用的私有并行程序集的元数据。
应用程序配置文件 使用每个应用程序配置重定向程序集依赖项的程序集版本.
发布服务器配置文件 使用发布服务器配置在每个程序集基础上重定向程序集依赖项的程序集版本.
 

有关清单文件架构的列表, 请参见清单文件架构.

有关应用程序配置文件架构的列表, 请参见应用程序配置文件架构.

有关发布服务器配置文件架构的列表, 请参见发布服务器配置文件架构.


清单文件架构
下面是清单文件架构

<?xml version="1.0" ?> 
  <Schema xmlns="urn:schemas-microsoft-com:xml-data" xmlns:dt="urn:schemas-microsoft-com:datatypes" 
   name="urn:schemas-microsoft-com:asm.v1" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" >
  <!--  Attributes 
  --> 
  <AttributeType name="manifestVersion" dt:type="enumeration" dt:values="1.0" /> 
  <AttributeType name="name" dt:type="string" /> 
  <AttributeType name="type" dt:type="string" /> 
  <AttributeType name="publicKeyToken" dt:type="bin.hex" /> 
  <AttributeType name="language" dt:type="string" /> 
  <AttributeType name="processorArchitecture" dt:type="string" /> 
  <AttributeType name="version" dt:type="string" /> 
  <AttributeType name="optional" dt:type="enumeration" dt:values="yes no" /> 
  <AttributeType name="clsid" dt:type="string" /> 
  <AttributeType name="description" dt:type="string" /> 
  <AttributeType name="threadingModel" dt:type="string" /> 
  <AttributeType name="tlbid" dt:type="string" /> 
  <AttributeType name="progid" dt:type="string" /> 
  <AttributeType name="helpdir" dt:type="string" /> 
  <AttributeType name="iid" dt:type="string" /> 
  <AttributeType name="numMethods" dt:type="ui4" /> 
  <AttributeType name="resourceid" dt:type="string" /> 
  <AttributeType name="flags" dt:type="enumeration" dt:values="control hidden restricted hasdiskimage" /> 
  <AttributeType name="hashalg" dt:type="enumeration" dt:values="SHA1 SHA MD5 MD4 MD2" /> 
  <AttributeType name="hash" dt:type="bin.hex" /> 
  <AttributeType name="proxyStubClsid32" dt:type="string" /> 
  <AttributeType name="baseInterface" dt:type="string" /> 
  <AttributeType name="versioned" dt:type="enumeration" dt:values="yes no" /> 
  <AttributeType name="oldVersion" dt:type="string" /> 
  <AttributeType name="newVersion" dt:type="string" /> 
  <AttributeType name="size" dt:type="ui8" /> 
  <AttributeType name="runtimeVersion" dt:type="string" /> 
  <!--  Elements
  --> 
  <ElementType name="assembly" order="seq" model="closed" content="eltOnly">
  <attribute type="manifestVersion" required="yes" /> 
  <group order="many" minOccurs="0" maxOccurs="*">
  <element type="assemblyIdentity" minOccurs="1" maxOccurs="1" /> 
  <element type="noInheritable" minOccurs="0" maxOccurs="1" /> 
  </group>
  <group order="many" minOccurs="0" maxOccurs="*">
  <element type="description" minOccurs="0" maxOccurs="1" /> 
  <element type="noInherit" minOccurs="0" maxOccurs="1" /> 
  <element type="noInheritable" minOccurs="0" maxOccurs="1" /> 
  <element type="comInterfaceExternalProxyStub" minOccurs="0" /> 
  <element type="dependency" minOccurs="0" /> 
  <element type="file" minOccurs="0" /> 
  <element type="clrClass" minOccurs="0" /> 
  <element type="clrSurrogate" minOccurs="0" /> 
  </group>
  </ElementType>
  <ElementType name="supportedOS" order="seq" model="closed" content="eltOnly">
  <attribute type="Id" required="yes" /> 
  </ElementType>
  <ElementType name="clrClass" model="closed" content="eltOnly">
  <attribute type="name" required="yes" /> 
  <attribute type="clsid" required="yes" /> 
  <attribute type="progid" required="no" /> 
  <attribute type="tlbid" required="no" /> 
  <attribute type="description" required="no" /> 
  <attribute type="runtimeVersion" required="no" /> 
  <attribute type="threadingModel" required="no" /> 
  <element type="progid" minOccurs="0" maxOccurs="*" /> 
  </ElementType>
  <ElementType name="clrSurrogate" model="closed" content="empty">
  <attribute type="clsid" required="yes" /> 
  <attribute type="name" required="yes" /> 
  <attribute type="runtimeVersion" required="no" /> 
  </ElementType>
  <ElementType name="assemblyIdentity" model="closed">
  <attribute type="name" required="yes" /> 
  <attribute type="version" required="no" /> 
  <attribute type="type" required="no" /> 
  <attribute type="processorArchitecture" required="no" /> 
  <attribute type="publicKeyToken" required="no" /> 
  <attribute type="language" required="no" /> 
  </ElementType>
  <ElementType name="comInterfaceProxyStub" model="closed">
  <attribute type="iid" required="yes" /> 
  <attribute type="name" required="yes" /> 
  <attribute type="tlbid" required="no" /> 
  <attribute type="numMethods" required="no" /> 
  <attribute type="proxyStubClsid32" required="no" /> 
  <attribute type="baseInterface" required="no" /> 
  </ElementType>
  <ElementType name="description" /> 
  <ElementType name="dependency" model="closed" content="eltOnly">
  <element type="dependentAssembly" minOccurs="0" maxOccurs="1" /> 
  <attribute type="optional" required="no" /> 
  </ElementType>
  <ElementType name="dependentAssembly" model="closed" content="eltOnly">
  <element type="assemblyIdentity" minOccurs="1" maxOccurs="1" /> 
  <element type="bindingRedirect" minOccurs="0" maxOccurs="*" /> 
  </ElementType>
  <ElementType name="bindingRedirect" model="closed" content="empty">
  <attribute type="oldVersion" required="yes" /> 
  <attribute type="newVersion" required="yes" /> 
  </ElementType>
  <ElementType name="file" model="closed" content="eltOnly">
  <attribute type="name" required="yes" /> 
  <attribute type="hash" required="no" /> 
  <attribute type="hashalg" required="no" /> 
  <attribute type="size" required="no" /> 
  <group order="many" minOccurs="0" maxOccurs="*">
  <element type="comClass" minOccurs="0" /> 
  <element type="comInterfaceProxyStub" minOccurs="0" /> 
  <element type="typelib" minOccurs="0" /> 
  <element type="windowClass" minOccurs="0" /> 
  </group>
  </ElementType>
  <ElementType name="comClass" model="closed" content="eltOnly">
  <attribute type="clsid" required="yes" /> 
  <attribute type="threadingModel" required="no" /> 
  <attribute type="progid" required="no" /> 
  <attribute type="tlbid" required="no" /> 
  <attribute type="description" required="no" /> 
  <element type="progid" minOccurs="0" maxOccurs="*" /> 
  </ElementType>
  <ElementType name="comInterfaceExternalProxyStub" model="closed" content="empty">
  <attribute type="iid" required="yes" /> 
  <attribute type="name" required="yes" /> 
  <attribute type="tlbid" required="no" /> 
  <attribute type="numMethods" required="no" /> 
  <attribute type="proxyStubClsid32" required="no" /> 
  <attribute type="baseInterface" required="no" /> 
  </ElementType>
  <ElementType name="typelib" model="closed" content="empty">
  <attribute type="tlbid" required="yes" /> 
  <attribute type="version" required="yes" /> 
  <attribute type="helpdir" required="yes" /> 
  <attribute type="resourceid" required="no" /> 
  <attribute type="flags" required="no" /> 
  </ElementType>
  <ElementType name="windowClass" model="closed" content="textOnly">
  <attribute type="versioned" required="no" /> 
  </ElementType>
  <ElementType name="noInherit" model="closed" content="empty" /> 
  <ElementType name="noInheritable" model="closed" content="empty" /> 
  <ElementType name="progid" /> 


  <!-- WindowsSettings elements from XML namespace http://schemas.microsoft.com/SMI/2005/WindowsSettings
  --> 
  <ElementType name="dpiAware" /> 


  <!-- WindowsSettings elements from XML namespace http://schemas.microsoft.com/SMI/2011/WindowsSettings
  --> 
  <ElementType name="autoElevate" /> 
  <ElementType name="disableTheming" /> 
  <ElementType name="disableWindowFiltering" /> 
  <ElementType name="highResolutionScrollingAware" /> 
  <ElementType name="magicFutureSetting" /> 
  <ElementType name="printerDriverIsolation" /> 
  <ElementType name="ultraHighResolutionScrollingAware" /> 


  <!-- WindowsSettings elements from XML namespace http://schemas.microsoft.com/SMI/2016/WindowsSettings
  -->
  <ElementType name="dpiAwareness" />


  </Schema>



的完整列表。

程序集清单
程序集清单是描述并行程序集的 XML 文件。程序集清单描述程序集的并行程序集、文件和资源的名称和版本, 以及程序集对其他并行程序集的依赖性。正确安装、激活和执行并行程序集要求程序集清单始终伴随系统上的程序集。


有关 XML 架构的完整列表, 请参见清单文件架构.



程序集清单具有以下元素和属性。


文件位置
程序集清单可以安装在三位置:


作为伴随共享程序集的清单, 程序集清单应作为单独的文件安装在并行程序集缓存中。这通常是 Windows 目录中的 WinSxS 文件夹。
作为伴随私有程序集的清单, 程序集清单应安装在应用程序的目录结构中。这通常是与应用程序的可执行文件位于同一文件夹中的单独文件。
作为 dll 中的资源, 该程序集可供专用 dll 使用。程序集清单不能作为资源包含在 EXE 中。EXE 文件可能包含一个应用程序清单作为资源。
文件名语法
程序集清单的名称是任何有效的文件名, 后跟. 清单。


例如, 引用 myassembly 的程序集清单将使用以下文件名语法。如果程序集清单作为单独的文件安装, 或者资源 id 为 1, 则可以省略 <资源 id> 字段。


myassembly. < 资源 ID >. 清单
注意由于对私有程序集进行并行搜索的方式, 在将 DLL 打包为私有程序集时, 将应用以下命名限制。建议这样做的方法是将程序集清单作为资源放在 DLL 中。在这种情况下, 资源 ID 必须等于 1, 并且私有程序集的名称可以与 DLL 的名称相同。例如, 如果 DLL 的名称为 Microsoft.Windows.mysample.dll, 则清单的assemblyIdentity元素中使用的 name 属性的值也可能为 Microsoft.Windows.mysample。另一种方法是将程序集清单放在单独的文件中。在这种情况下, 程序集及其清单的名称必须与 DLL 的名称不同。例如, Microsoft.Windows.mysampleAsm、Microsoft.Windows.mysampleAsm.manifest 和 Microsoft.Windows.Mysample.dll。有关如何并行搜索私有程序集的详细信息, 请参阅程序集搜索序列.
 
元素
元素和属性的名称是 case-sensitive 的。元素和属性的值是 case-insensitive 的, 但类型属性的值除外。


大会
容器元素。它的第一个子必须是assemblyIdentity或noInheritable元素。程序集清单唯一描述由assemblyIdentity标识的并行程序集。必填。


该程序集元素必须位于命名空间 "urn: 架构--microsoft-com: asm. v1"。程序集的子元素也必须位于此命名空间中、通过继承或通过标记。


程序集元素具有以下属性。


属性 描述
manifestVersion manifestVersion属性必须设置为1.0。
 


noInheritable
在程序集清单中包含此元素, 以指示程序集管理激活上下文及其对象。noInheritable元素必须是程序集元素的子。assemblyIdentity元素应在任何noInheritable元素之后出现。如果程序集由包含noInherit元素的任何应用程序清单使用, 则在程序集清单中需要noInheritable元素。应用程序清单中的noInheritable元素不起作用。noInheritable元素没有子元素。


assemblyIdentity
描述并唯一标识并行程序集。


作为程序集元素的第一个子, assemblyIdentity描述并唯一标识拥有此程序集清单的并行程序集。这称为程序集清单的 DEF 上下文assemblyIdentity 。


作为dependentAssembly元素的第一个子, assemblyIdentity描述并唯一标识由 DEF 上下文assemblyIdentity使用的并行程序集。这称为程序集清单的 REF 上下文assemblyIdentity 。DEF 上下文程序集要求 REF 上下文程序集正常工作。请注意, 每个 REF 上下文assemblyIdentity必须完全匹配引用的程序集的程序集清单中相应的 DEF 上下文assemblyIdentity 。


此元素没有子组件。assemblyIdentity元素具有以下属性。


属性 描述
类型 指定程序集类型。该值必须 win32, 并且在小写情况下。必填。
名称 唯一地命名程序集。使用以下格式的程序集名称: Organization.Division.Name。例如, Microsoft.Windows.mysampleAsm。必填。
请注意, 对于封装为具有单独清单文件的私有程序集的 dll, 程序集的名称必须与 dll 和清单的名称不同。


语言 标识程序集的语言。选.如果程序集是特定于语言的, 则指定 DHTML 语言代码。
在用于全球使用的程序集清单的 DEF 上下文assemblyIdentity中 (语言中性) 省略语言属性。


在用于全球使用的程序集清单的 REF 上下文assemblyIdentity中 (语言中性) 将语言的值设置为 "*"。


processorArchitecture 指定处理器。对于64位窗口, x86 32 位窗口和 ia64 的有效值。选.
版本 指定程序集版本。使用四部分版本格式: mmmmm.nnnnn.ooooo.ppppp。每个按期间分开的零件可以是0-65535 包含的。有关更多信息, 请参见程序集版本。必填。
publicKeyToken 一个16个字符的十六进制字符串, 表示在其中签名程序集的公钥的 SHA-1 哈希的最后8个字节。用于对编录进行签名的公钥必须为2048位或更大。共享并行程序集所需的。
 


依赖
包含至少一个dependentAssembly的容器元素。第一个子必须是dependentAssembly元素。依赖项没有属性。选.


dependentAssembly
第一个子必须是一个assemblyIdentity元素, 它描述并唯一标识由拥有此程序集清单的并行程序集使用的并行程序集。每个dependentAssembly必须恰好位于一个依赖项中。选.


文件
包含由并行程序集使用的文件。包含comClass、类型、 windowClass、 comInterfaceProxyStub子元素。选.


file元素具有以下属性。


属性 描述
名称 文件的名称, 例如, Conctl32.dll。
hashalg 用于创建文件哈希值的算法。此值应为 SHA1。
哈希 由名称引用的文件的哈希值。根据哈希算法的长度的十六进制字符串。
 


comClass
file元素的子。选.


comClass元素具有以下属性。


属性 描述
描述 类名。
clsid 唯一标识类的 GUID。必填。该值必须是有效 GUID 的格式。
threadingModel 进程内 COM 类使用的线程模型。如果此属性为 null, 则不使用线程模型。该组件在客户端的主线程上创建, 其他线程的调用将被封送到此线程。选.有效值是: "公寓", "自由", "两者", 和 "中性"。
/tlbid 此 COM 组件的类型库的 GUID。该值必须是 GUID 的格式。选.
progid 与 COM 组件关联的与版本相关的编程标识符。ProgID 的格式为 <供应商>. <组件>. <版本>.
miscStatus 程序集中的重复项清单显示 MiscStatus 注册表项提供的信息。如果未找到miscStatusIcon、 miscStatusContent、 miscStatusDocprint或miscStatusThumbnail属性的值, 则miscStatus中列出的相应默认值将用于缺少属性。该值可以是下表中的属性值的逗号分隔列表。如果 COM 类是需要 Miscstatus 注册表项值的 OCX 类, 则可以使用此特性。
miscStatusIcon 程序集中的重复清单显示了 DVASPECT_ICON 提供的信息。它可以提供一个对象的图标。该值可以是下表中的属性值的逗号分隔列表。如果 COM 类是需要 Miscstatus 注册表项值的 OCX 类, 则可以使用此特性。
miscStatusContent 程序集中的重复清单显示了 DVASPECT_CONTENT 提供的信息。它可以为屏幕或打印机提供可显示的复合文档。该值可以是下表中的属性值的逗号分隔列表。如果 COM 类是需要 Miscstatus 注册表项值的 OCX 类, 则可以使用此特性。
miscStatusDocprint 程序集中的重复显示 DVASPECT_DOCPRINT 提供的信息。它可以提供在屏幕上显示的对象表示形式, 就像打印到打印机上一样。该值可以是下表中的属性值的逗号分隔列表。如果 COM 类是需要 Miscstatus 注册表项值的 OCX 类, 则可以使用此特性。
miscStatusThumbnail 程序集中的副本清单中的 DVASPECT_THUMBNAIL 提供的信息。它可以提供一个可在浏览工具中显示的对象的缩略图。该值可以是下表中的属性值的逗号分隔列表。如果 COM 类是需要 Miscstatus 注册表项值的 OCX 类, 则可以使用此特性。
 


comClass元素可以具有 < progid >.. </progid > 元素作为子级, 其中列出了与版本相关的 progid。


下面的示例演示file元素中包含的comClass元素。


<file name="sampleu.dll">
        <comClass description="Font Property Page"
    clsid="{0BE35200-8F91-11CE-9DE3-00AA004BB851}"
          threadingModel = "Both"
             tlbid = "{44EC0535-400F-11D0-9DCD-00A0C90391D3}"/>
        <comClass description="Color Property Page"
    clsid="{0BE35201-8F91-11CE-9DE3-00AA004BB851}" 
    progid="ABC.Registrar"/>
    </file>
如果您的 COM 类是一个 OCX 类, 需要 MiscStatus 注册表子项来指定如何创建和显示对象, 则可以通过在程序集清单中复制此信息来启用该对象。使用miscStatusThumbnail元素的miscStatus、 miscStatusIcon、 miscStatusContent、 miscStatusDocprint和comClass属性指定对象的特征。将这些属性设置为从下表中以逗号分隔的属性值列表。这些属性复制了由 DVASPECT 枚举提供的信息。如果未找到miscStatusIcon、 miscStatusContent、 miscStatusDocprint或miscStatusThumbnail的值, 则使用miscStatus中指定的默认值。使用下表中的属性值。这些对应于 OLEMISC 枚举的位标志。


属性值 OLEMISC 常数
recomposeonresize OLEMISC_RECOMPOSEONRESIZE
onlyiconic OLEMISC_ONLYICONIC
insertnotreplace OLEMISC_INSERTNOTREPLACE
静态 OLEMISC_STATIC
cantlinkinside OLEMISC_CANTLINKINSIDE
canlinkbyole1 OLEMISC_CANLINKBYOLE1
islinkobject OLEMISC_ISLINKOBJECT
insideout OLEMISC_INSIDEOUT
activatewhenvisible OLEMISC_ACTIVATEWHENVISIBLE
renderingisdeviceindependent OLEMISC_RENDERINGISDEVICEINDEPENDENT
invisibleatruntime OLEMISC_INVISIBLEATRUNTIME
alwaysrun OLEMISC_ALWAYSRUN
actslikebutton OLEMISC_ACTSLIKEBUTTON
actslikelabel OLEMISC_ACTSLIKELABEL
nouiactivate OLEMISC_NOUIACTIVATE
alignable OLEMISC_ALIGNABLE
simpleframe OLEMISC_SIMPLEFRAME
setclientsitefirst OLEMISC_SETCLIENTSITEFIRST
imemode TOLEMISC_IMEMODE
ignoreativatewhenvisible OLEMISC_IGNOREACTIVATEWHENVISIBLE
wantstomenumerge OLEMISC_WANTSTOMENUMERGE
supportsmultilevelundo OLEMISC_SUPPORTSMULTILEVELUNDO
 


类型
file元素的子。选.


类型元素具有下表中显示的属性。


属性 描述
/tlbid 类型库的唯一 ID。必填。
版本 类型库的两部分版本号。如果只增加次要版本号, 则以兼容的方式支持以前类型库的所有功能。如果主版本号发生更改, 则必须重新编译针对类型库编译的代码。类型库的版本号可能与应用程序的版本号不同。必填。
helpdir 类型库中类型的帮助文件所在的目录。如果应用程序支持多种语言的类型库, 则库可以在帮助文件目录中引用不同的文件名。如果没有值, 则指定 ""。必填。
resourceid 区域设置标识符 (LCID) 的十六进制字符串表示形式。它是一个到四十六进制数字, 没有0x 前缀, 没有前导零。LCID 可能有一个中性的语言标识符。有关更多信息, 请参见区域设置标识符。选.
标志 此类型库的类型库标志的字符串表示形式。具体地说, 它应该是一个 "限制", "控制", "隐藏" 和 "HASDISKIMAGE"。这些是 LIBFLAGS 枚举的值, 它们是 ICreateTypeLib:: SetLibFlags 方法的uLibFlags参数中指定的相同标志。选.
 


下面的示例演示file元素中包含的类型元素。


<file name="sampleu.dll">
       <typelib tlbid="{44EC0535-400F-11D0-9DCD-00A0C90391D3}"
       version="1.0" helpdir=""/>
</file>
comInterfaceExternalProxyStub
comInterfaceExternalProxyStub是程序集元素的子, 用于自动化接口。例如, IDispatch 及其派生接口。选.


默认的代理存根实现对于大多数自动化接口都是足够的, 例如从 IDispatch派生的接口。接口代理存根和所有其他外部代理存根接口实现必须在comInterfaceExternalProxyStub中列出。comInterfaceExternalProxyStub元素具有下表中显示的属性。


属性 描述
iid 要为其声明代理的接口的 IID。必填。该值应在窗体中: "{iid}"。
baseInterface 从中派生iid特性所描述的接口的 IID。此属性是可选的。该值应在窗体中: "{iid}"。
numMethods 接口实现的方法数。此属性是可选的。该值应为 "n" 形式。
名称 在代码中显示的接口的名称。例如, "IViewObject"。这不应是描述性字符串。此属性是可选的。该值应为 "名称"。
/tlbid 包含由iid特性指定的接口说明的类型库。此属性是可选的。该值应在窗体中: "{/tlbid}"。
proxyStubClsid32 将 IID 映射到32位代理 dll 中的 CLSID。
 


下面的示例演示一个comInterfaceExternalProxyStub元素。


<comInterfaceExternalProxyStub 
  name="IAxWinAmbientDispatch" 
    iid="{B6EA2051-048A-11D1-82B9-00C04FB9942E}" 
    numMethods="35" 
  baseInterface="{00000000-0000-0000-C000-000000000046}"/>
comInterfaceProxyStub
file元素的子。选.


如果程序集中的某个文件实现了代理存根, 则相应的文件标记必须包含comInterfaceProxyStub子, 其属性与comInterfaceProxyStub元素相同。如果省略了组件的某些comInterfaceProxyStub依赖项, 则在进程和线程之间封送接口可能无法按预期方式工作。


comInterfaceProxyStub元素具有以下属性。


属性 描述
iid 的.要为其声明代理的接口的 IID。必填。该值应在窗体中: "{iid}"。
名称 在代码中显示的接口的名称。例如, "IViewObject"。这不应是描述性字符串。此属性是可选的。该值应为 "名称"。
/tlbid 包含由iid特性指定的接口说明的类型库。此属性是可选的。该值应在窗体中: "{/tlbid}"。
baseInterface 从中派生iid特性所描述的接口的 IID。此属性是可选的。该值应在窗体中: "{iid}"。
numMethods 接口实现的方法数。此属性是可选的。该值应为 "n" 形式。
proxyStubClsid32 将 IID 映射到32位代理 dll 中的 CLSID。
threadingModel 进程内 COM 类使用的线程模型。如果此属性为 null, 则不使用线程模型。该组件在客户端的主线程上创建, 其他线程的调用将被封送到此线程。选.有效值是: "公寓", "自由", "两者", 和 "中性"。
 


windowclass
要进行版本控制的 windows 类的名称。windowclass元素具有以下属性。


属性 描述
版本 此属性控制在注册中使用的内部窗口类名是否包含包含该窗口类的程序集的版本。此属性的值可以是 "是" 或 "否"。默认值为 "是"。如果相同的窗口类是由并行组件和等效的无组件定义的, 并且您希望将它们视为相同的窗口类, 则只应使用值 "no"。请注意, 有关窗口类注册的通常规则适用-仅注册窗口类的第一个组件将能够注册它, 因为它没有版本。
 


下面的示例演示file元素中包含的windowclass元素。


<file name="comctl32.dll">
        <windowClass versioned="no">ToolbarWindow32</windowClass>
</file>
例如
下面是程序集清单的一个示例。


<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" 
manifestVersion="1.0">
    <assemblyIdentity type="win32" name="Microsoft.Tools.SampleAssembly" version="6.0.0.0" processorArchitecture="x86" publicKeyToken="0000000000000000"/>
    <file name="sampleu.dll" hash="3eab067f82504bf271ed38112a4ccdf46094eb5a" hashalg="SHA1">
        <comClass description="Font Property Page" clsid="{0BE35200-8F91-11CE-9DE3-00AA004BB851}"/>
        <comClass description="Color Property Page" clsid="{0BE35201-8F91-11CE-9DE3-00AA004BB851}"/>
        <comClass description="Picture Property Page" clsid="{0BE35202-8F91-11CE-9DE3-00AA004BB851}"/>
    </file>
    <file name="bar.dll" hash="ac72753e5bb20446d88a48c8f0aaae769a962338" hashalg="SHA1"/>
    <file name="foo.dll" hash="a7312a1f6cfb46433001e0540458de60adcd5ec5" hashalg="SHA1">
        <comClass description="Registrar Class" clsid="{44EC053A-400F-11D0-9DCD-00A0C90391D3}" progid="ATL.Registrar"/>
    <comInterfaceProxyStub iid="{B6EA2051-048A-11D1-82B9-00C04FB9942E}" name=" IAxWinAmbientDispatch " tlbid="{34EC053A-400F-11D0-9DCD-00A0C90391D3}"/>
        <typelib tlbid="{44EC0535-400F-11D0-9DCD-00A0C90391D3}" version="1.0" helpdir=""/>
    </file>
    <file name="sampledll.dll" hash="ba62960ceb15073d2598379307aad84f3a73dfcb" hashalg="SHA1"/>
<windowClass>ToolbarWindow32</windowClass>
        <windowClass>ComboBoxEx32</windowClass>
        <windowClass>sample_trackbar32</windowClass>
        <windowClass>sample_updown32</windowClass>
</assembly>



原创粉丝点击