Поделиться через


Элемент <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

Обязательный. Задает старший разряд номера версии операционной системы.

minorVersion

Обязательный. Задает младший разряд номера версии операционной системы.

buildNumber

Обязательный. Задает номер построения операционной системы.

servicePackMajor

Обязательный. Задает старший разряд номера пакета обновления операционной системы.

servicePackMinor

Необязательный. Задает младший разряд номера пакета обновления операционной системы.

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 должна находиться в глобальном кэше сборок перед установкой приложения ClickOnce.

allowDelayedBinding

Обязательный. Указывает на возможность программного запуска сборки во время выполнения.

group

Необязательный. Если атрибут dependencyType имеет значение install, то данный атрибут указывает именованную группу сборок, которые устанавливаются по требованию. Дополнительные сведения см. в разделе Пошаговое руководство. Загрузка сборок по требованию с помощью API развертывания ClickOnce с использованием конструктора.

Если значение равно framework, а атрибут dependencyType имеет значение prerequisite, то данный атрибут указывает сборку как часть платформы .NET Framework. Глобальный кэш сборок для этой сборки не проверяется при установке в .NET Framework 4 и более поздних версиях.

codeBase

Требуется, если атрибут dependencyType имеет значение install. Путь к зависимой сборке. К основанию кода манифеста может быть или абсолютный путь, или относительный путь. Этим путем должен быть допустимый URI, для того чтобы манифест сборки был допустимым.

size

Требуется, если атрибут dependencyType имеет значение install. Размер зависимой сборки в байтах.

assemblyIdentity

Обязательный. Этот элемент является дочерним элементом dependentAssembly и имеет следующие атрибуты.

Атрибут

Описание

name

Обязательный. Идентифицирует имя приложения.

version

Обязательный. Задает номер версии приложения в следующем формате: основной.дополнительный.построение.редакция.

publicKeyToken

Необязательный. Задает 16-символьную шестнадцатеричную строку, которая представляет последние 8 байтов хэша SHA-1 открытого ключа, которым подписывается приложение или сборка. Открытый ключ доступа, используемый для подписи каталога, должен содержать не менее 2048.

processorArchitecture

Необязательный. Задает процессор. Действующие значения x86 для 32-битового Windows и I64 для 64-битового Windows.

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. Зависимые сборки не включают сборки, которые должны быть предварительно установлены в кэш глобальной сборки в качестве платформы сборок.

Пример

В следующем примере кода показаны элементы dependency в манифесте приложенияClickOnce. Данный пример кода является частью большего примера, приведенного в разделе Манифест приложения 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)