<dependency> 元素(ClickOnce 应用程序)

更新: 2008 年 7 月

标识应用程序所需的平台或程序集依赖项。

<dependency>
   <dependentOS
      supportURL
      description
   >
      <osVersionInfo>
         <os
            majorVersion
            minorVersion
            buildNumber
            servicePackMajor
            servicePackMinor
            productType
            suiteType
         /> 
      </osVersionInfo>
   </dependentOS>
   <dependentAssembly
      codeBase
      size
   >
      <assemblyIdentity
         name
         version
         processorArchitecture
         language
      >
         <hash>
            <dsig:Transforms>
               <dsig:Transform
                  Algorithm
            />
            </dsig:Transforms>
            <dsig:DigestMethod />
            <dsig:DigestValue>
            </dsig:DigestValue>
    </hash>

      </assemblyIdentity>
   </dependentAssembly>
</dependency>

元素和属性

dependency 元素是必需的。在同一应用程序清单中可能有多个 dependency 实例。

dependency 元素没有属性,但包含下列子元素。

dependentOS

可选。包含 osVersionInfo 元素。dependentOS 元素和 dependentAssembly 元素是互斥的:对于 dependency 元素,只能存在其中一个元素,而不能同时存在这两个元素。

dependentOS 支持下列属性。

属性

说明

supportUrl

可选。指定依赖平台的支持 URL。如果找到必需的平台,此 URL 将显示给用户。

description

可选。以可读的形式描述 dependentOS 元素描述的操作系统。

osVersionInfo

必需。此元素是 dependentOS 元素的子元素,它包含 os 元素。此元素没有属性。

os

必需。此元素是 osVersionInfo 元素的子元素。此元素具有下列属性。

属性

说明

majorVersion

必需。指定 OS 的主版本号。

minorVersion

必需。指定 OS 的次版本号。

buildNumber

必需。指定 OS 的内部版本号。

servicePackMajor

必需。指定 OS 的 Service Pack 主版本号。

servicePackMinor

可选。指定 OS 的 Service Pack 次版本号。

productType

可选。标识产品类型值。有效值为:server、workstation 和 domainController。例如,对于 Windows 2000 Professional,此属性值为 workstation。

suiteType

可选。标识系统或系统配置类型上可用的产品套件。有效值为 backoffice、blade、datacenter、enterprise、home、professional、smallbusiness、smallbusinessRestricted 和 terminal。例如,对于 Windows 2000 Professional,此属性值为 professional。

dependentAssembly

可选。包含 assemblyIdentity 元素。dependentOS 元素和 dependentAssembly 元素是互斥的:对于 dependency 元素,只能存在其中一个元素,而不能同时存在这两个元素。

dependentAssembly 具有下列属性。

属性

说明

codeBase

必需。此程序集表示的程序集路径。该路径可能是绝对路径,也可能是相对于清单基本代码的路径。此路径必须是有效 URI,程序集清单才能有效。

size

必需。依赖程序集的大小,以字节为单位。

assemblyIdentity

必需。此元素是 dependentAssembly 元素的子元素,它具有下列属性。

属性

说明

name

必需。标识应用程序的名称。

version

必需。指定应用程序的版本号,格式如下:major.minor.build.revision

publicKeyToken

可选。指定 16 个字符的十六进制字符串,该字符串表示公钥的 SHA-1 哈希值的后 8 个字节。使用该公钥,可以对应用程序或程序集进行签名。用于对目录进行签名的公钥必须至少为 2048 位。

processorArchitecture

可选。指定处理器。对于 32 位 Windows,有效值为 x86;对于 64 位 Windows,有效值为 I64。

language

可选。标识程序集的两部分语言代码,如 EN-US。

hash

hash 元素是 assemblyIdentity 元素的可选子元素。hash 元素没有属性。

ClickOnce 使用应用程序中所有文件的算法哈希运算作为一种安全检查手段,以确保部署之后没有任何文件发生更改。如果未包含 hash 元素,则不会执行此检查。因此不建议省略 hash 元素。

dsig:Transforms

dsig:Transforms 元素是 hash 元素必需的子元素。dsig:Transforms 元素没有属性。

dsig:Transform

dsig:Transform 元素是 dsig:Transforms 元素必需的子元素。dsig:Transform 元素具有下列属性。

属性

说明

Algorithm

用于计算此文件的摘要的算法。目前,ClickOnce 唯一使用的值是 urn:schemas-microsoft-com:HashTransforms.Identity。

dsig:DigestMethod

dsig:DigestMethod 元素是 hash 元素必需的子元素。dsig:DigestMethod 元素具有下列属性。

属性

说明

Algorithm

用于计算此文件的摘要的算法。目前,ClickOnce 唯一使用的值是 http://www.w3.org/2000/09/xmldsig#sha1。

dsig:DigestValue

dsig:DigestValue 元素是 hash 元素必需的子元素。dsig:DigestValue 元素没有属性。它的文本值是为指定文件计算所得的哈希值。

备注

应用程序使用的所有程序集都必须具有对应的 dependency 元素。依赖程序集不包括需要作为平台程序集预安装在全局程序集缓存中的程序集。

示例

下面的代码示例阐释 ClickOnce 应用程序清单中的 dependency 元素。此代码示例摘自为 ClickOnce 应用程序清单主题提供的一个更大示例。

<!-- This XML identifies a SpellingChecker assembly. -->
<dependency>
  <dependentAssembly codebase="SpellingChecker.dll" size="29696">
    <assemblyIdentity name="SpellingChecker" version="2.0.0.0" publicKeyToken="e8ed396099c4b4e9" processorArchitecture="msil" language="es-PE" />
    <hash>
      <dsig:Transforms>
        <dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
      </dsig:Transforms>
      <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
      <dsig:DigestValue>2+33lqQoPphgov907Kfp1v4TZMw=</dsig:DigestValue>
    </hash>
  </dependentAssembly>
</dependency>

<!-- This XML describes an operating system dependency for the application. -->
<!--Microsoft Windows Operating System Platform Dependency-->
<dependency>
  <dependentOS supportUrl="https://www.microsoft.com" description="Microsoft Windows Operating System">
    <osVersionInfo>
      <os majorVersion="4" minorVersion="10" />
    </osVersionInfo>
  </dependentOS>
</dependency>

请参见

参考

ClickOnce 应用程序清单

修订记录

日期

修订记录

原因

2008 年 7 月

增加了有关 hash 元素的可选信息。

信息补充。