Elemento de <dependência> (aplicativo ClickOnce)

Identifica uma dependência de assembly ou plataforma necessária para o aplicativo.

Sintaxe


      <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>

Elementos e atributos

O elemento dependency é obrigatório. Pode haver várias instâncias do dependency no mesmo manifesto do aplicativo.

O elemento dependency não tem atributos e contém os elementos filho a seguir.

dependentOS

Opcional. Contém o elemento osVersionInfo. Os elementos dependentOS e dependentAssembly são mutuamente exclusivos: um ou outro deve existir para um elemento dependency, mas não ambos.

dependentOS aceita os atributos a seguir.

Atributo Descrição
supportUrl Opcional. Especifica uma URL compatível com a dependência da plataforma. Essa URL será mostrada ao usuário se a plataforma necessária for encontrada.
description Opcional. Descreve, em forma legível por humanos, o sistema operacional descrito pelo elemento dependentOS.

osVersionInfo

Obrigatórios. Esse elemento é um filho do elemento dependentOS e contém o elemento os. Esse elemento não tem atributos.

os

Obrigatórios. Este elemento é um filho do elemento osVersionInfo. Esse elemento tem os atributos a seguir.

Atributo Descrição
majorVersion Obrigatórios. Especifica o número de versão principal do sistema operacional.
minorVersion Obrigatórios. Especifica o número de versão secundária do sistema operacional.
buildNumber Obrigatórios. Especifica o número da compilação deste sistema operacional.
servicePackMajor Obrigatórios. Especifica o número principal do service pack do sistema operacional.
servicePackMinor Opcional. Especifica o número secundário do service pack do sistema operacional.
productType Opcional. Identifica o valor do tipo de produto. Os valores válidos são server, workstation e domainController. Por exemplo, para o Windows 10, o valor desse atributo é workstation.
suiteType Opcional. Identifica um pacote de produtos disponível no sistema ou o tipo de configuração do sistema. Os valores válidos são backoffice, blade, datacenter, enterprise, home, professional, smallbusiness, smallbusinessRestricted e terminal. Por exemplo, para o Windows 2000 Professional, esse valor de atributo é professional.

dependentAssembly

Opcional. Contém o elemento assemblyIdentity. Os elementos dependentOS e dependentAssembly são mutuamente exclusivos: um ou outro deve existir para um elemento dependency, mas não ambos.

dependentAssembly tem os atributos a seguir.

Atributo Descrição
dependencyType Obrigatórios. Especifica um tipo de dependência. Os valores válidos são prerequisite e install. Um assembly install é instalado como parte do aplicativo ClickOnce. Um assembly prerequisite deve estar presente no GAC (cache de assembly global) antes que o aplicativo ClickOnce possa ser instalado.
allowDelayedBinding Obrigatórios. Especifica se o assembly pode ser carregado programaticamente em tempo de execução.
group Opcional. Se o atributo dependencyType for definido como install, designa um grupo nomeado de assemblies que só são instalados sob demanda. Para obter mais informações, consulte Walkthrough: Downloading Assemblies on Demand with the ClickOnce Deployment API Using the Designer (Instruções passo a passo: baixando assemblies sob demanda com a API de implantação do ClickOnce usando o designer).

Se definido como framework e o atributo dependencyType for definido como prerequisite, designará o assembly como parte do .NET Framework. O cache de assembly global (GAC) não é verificado para esse assembly durante a instalação no .NET Framework 4 e versões posteriores.
codeBase Necessário quando o atributo dependencyType é definido como install. O caminho para o assembly dependente. Pode ser um caminho absoluto ou um caminho relativo à base de código do manifesto. Esse caminho deve ser um URI válido para que o manifesto do assembly seja válido.
size Necessário quando o atributo dependencyType é definido como install. O tamanho do assembly dependente, em bytes.

assemblyIdentity

Obrigatórios. Esse elemento é um filho do elemento dependentAssembly e não tem os seguintes atributos.

Atributo Descrição
name Obrigatórios. Identifica o nome do aplicativo.
version Obrigatórios. Especifica o número de versão do aplicativo no seguinte formato: major.minor.build.revision
publicKeyToken Opcional. Especifica uma cadeia de caracteres hexadecimal de 16 caracteres que representa os últimos 8 bytes do valor de hash SHA-1 da chave pública sob a qual o aplicativo ou assembly está assinado. A chave pública usada para assinar o catálogo precisa ter 2048 bits ou mais.
processorArchitecture Opcional. Especifica o processador. Os valores válidos são x86 para Windows de 32 bits e I64 para Windows de 64 bits.
language Opcional. Identifica os dois códigos de idioma de duas partes, como EN-US, do assembly.

hash

O elemento hash é um filho opcional do elemento assemblyIdentity. O elemento hash não tem atributos.

O ClickOnce usa um hash algorítmico de todos os arquivos em um aplicativo como uma verificação de segurança, para garantir que nenhum dos arquivos tenha sido alterado após a implantação. Se o elemento hash não estiver incluído, essa verificação não será executada. Portanto, não é recomendável omitir o elemento hash.

dsig:Transforms

O elemento dsig:Transforms é um filho obrigatório do elemento hash. O elemento dsig:Transforms não tem atributos.

dsig:Transform

O elemento dsig:Transform é um filho obrigatório do elemento dsig:Transforms. O elemento dsig:Transform tem o atributo a seguir.

Atributo Descrição
Algorithm O algoritmo usado para calcular o resumo desse arquivo. Atualmente, o único valor usado pelo ClickOnce é urn:schemas-microsoft-com:HashTransforms.Identity.

dsig:DigestMethod

O elemento dsig:DigestMethod é um filho obrigatório do elemento hash. O elemento dsig:DigestMethod tem o atributo a seguir.

Atributo Descrição
Algorithm O algoritmo usado para calcular o resumo desse arquivo. Atualmente, o único valor usado pelo ClickOnce é http://www.w3.org/2000/09/xmldsig#sha1.

dsig:DigestValue

O elemento dsig:DigestValue é um filho obrigatório do elemento hash. O elemento dsig:DigestValue não tem atributos. O valor de texto dele é o hash computado para o arquivo especificado.

Comentários

Todos os assemblies usados pelo aplicativo devem ter um elemento dependency correspondente. Assemblies dependentes não incluem assemblies que devem ser pré-instalados no cache de assembly global como assemblies de plataforma.

Exemplo

O exemplo de código a seguir ilustra elementos dependency em um manifesto do aplicativo ClickOnce. Este exemplo de código faz parte de um exemplo maior fornecido para o tópico Manifesto de aplicativo 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>

Confira também