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

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

<dependency> 
   <dependentOS 
      supportURL 
      description 
   > 
      <osVersionInfo> 
         <os 
            majorVersion 
            minorVersion 
            buildNumber 
            servicePackMajor 
            servicePackMinor 
            productType 
            suiteType 
         />  
      </osVersionInfo> 
   </dependentOS> 
   <dependentAssembly 
      dependencyType 
      allowDelayedBinding 
      group 
      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 具有下列特性。

特性

说明

dependencyType

必选。 指定依赖关系类型。 有效值为 preprequisite 和 install。 install 程序集是作为 ClickOnce 应用程序的一部分安装的。 prerequisite 程序集必须存在于全局程序集缓存 (GAC) 中,之后才能安装 ClickOnce 应用程序。

allowDelayedBinding

必选。 指定是否可以通过编程方式在运行时加载程序集。

group

可选。 如果 dependencyType 特性设置为 install,则指定一组仅按需安装的程序集。 有关更多信息,请参见 演练:在设计器中使用 ClickOnce 部署 API 按需下载程序集

如果设置为 framework,且 dependencyType 特性设置为 prerequisite,则将该程序集指定为 .NET Framework 的一部分。 在 .NET Framework 4 及更高版本上安装此程序集时,不为其检查全局程序集缓存 (GAC) 的情况。

codeBase

dependencyType 特性设置为 install 时为必需。 指向依赖程序集的路径。 该路径可能是绝对路径,也可能是相对于清单基本代码的路径。 此路径必须是有效 URI,程序集清单才能有效。

size

dependencyType 特性设置为 install 时为必需。 依赖程序集的大小,以字节为单位。

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 应用程序清单主题提供的一个更大示例。

  <dependency>
    <dependentOS>
      <osVersionInfo>
        <os 
          majorVersion="4" 
          minorVersion="10" 
          buildNumber="0" 
          servicePackMajor="0" />
      </osVersionInfo>
    </dependentOS>
  </dependency>
  <dependency>
    <dependentAssembly
      dependencyType="preRequisite"
      allowDelayedBinding="true">
      <assemblyIdentity
        name="Microsoft.Windows.CommonLanguageRuntime"
        version="4.0.20506.0" />
    </dependentAssembly>
  </dependency>

  <dependency>
    <dependentAssembly
      dependencyType="install"
      allowDelayedBinding="true"
      codebase="MyApplication.exe"
      size="4096">
      <assemblyIdentity
        name="MyApplication"
        version="1.0.0.0"
        language="neutral"
        processorArchitecture="x86" />
      <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>DpTW7RzS9IeT/RBSLj54vfTEzNg=</dsig:DigestValue>
      </hash>
    </dependentAssembly>
  </dependency>

请参见

参考

ClickOnce 应用程序清单

<dependency> 元素(ClickOnce 部署)