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


Элемент <dependency> (развертывание ClickOnce)

Определяет версию устанавливаемого приложения и расположение манифеста приложения.

<dependency> 
   <dependentAssembly
      preRequisite
      visible
      dependencyType
      codeBase
      size
   > 
      <assemblyIdentity 
         name 
         version 
         publicKeyToken 
         processorArchitecture 
         language
         type
      /> 
      <hash>
         <dsig:Transforms>
            <dsig:Transform
                Algorithm
            />
         </dsig:Transforms>
         <dsig:DigestMethod />
         <dsig:DigestValue>
         </dsig:DigestValue>
      </hash>

   </dependentAssembly> 
</dependency>

Элементы и атрибуты

Элемент dependency является обязательным.В нем нет атрибутов.Манифест развертывания может иметь несколько элементов dependency.

Элемент dependency обычно выражает зависимости для главного приложения от сборок, содержащихся в приложении ClickOnce.Если приложение Main.exe включает сборку DotNetAssembly.dll, то эта сборка должна быть указана в разделе зависимостей.Однако зависимость может также выражать другие типы зависимостей, например зависимости от определенной версии среды CLR, от сборки в глобальном кэше сборок (GAC) или от объекта COM.Поскольку эта технология развертывания "без вмешательства", ClickOnce не может инициировать загрузку и установку этих типов зависимостей, но предотвращает запуск приложения в случае, когда одна или несколько указанных зависимостей не существуют.

dependentAssembly

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

Атрибут

Описание

preRequisite

Необязательный.Указание того, что данная сборка уже должна присутствовать в GAC.Допустимые значения: true и false.Если присвоено значение true и указанная сбор отсутствует в GAC, запуск приложения невозможен.

visible

Необязательный.Определение удостоверения приложения верхнего уровня, включая его зависимости.Предназначен для внутреннего использования в ClickOnce для управления хранением и активацией приложений.

dependencyType

Обязательный.Связь между зависимостью и приложением.Допустимые значения:

  • install.Компонент обозначает установку отдельно от текущего приложения.

  • preRequisite.Компонент необходим текущему приложению.

codebase

Необязательный.Полный путь к манифесту приложения.

size

Необязательный.Размер манифеста приложения в байтах.

assemblyIdentity

Обязательный.Этот элемент является дочерним для элемента dependentAssembly.Содержимое assemblyIdentity должно совпадать с описанием в манифесте приложения ClickOnce.В следующей таблице перечислены атрибуты элемента assemblyIdentity.

Атрибут

Описание

Name

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

Version

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

publicKeyToken

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

processorArchitecture

Обязательный.Указание микропроцессора.Действующие значения x86 для 32-битового Windows и IA64 для 64-битового Windows.

Language

Необязательный.Определение двух частей кодов языка сборки.Например, EN-US для "Английский (США)".По умолчанию используется значение neutral.Этот элемент находится в пространстве имен asmv2.

type

Необязательный.Для обратной совместимости с технологией параллельной установки Windows.Единственным допустимым значением является win32.

hash

Элемент hash является необязательным дочерним элементом элемента file.У элемента 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 отсутствуют атрибуты.Его текстовое значение – это вычисленный хэш для указанного файла.

Заметки

Обычно манифест развертывания имеет один элемент assemblyIdentity, идентифицирующий имя и версию манифеста приложения.

Пример

В следующем примере кода показан элемент dependency в манифесте развертывания ClickOnce.

<!-- Identify the assembly dependencies -->
<dependency>
  <dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="MyApplication.exe" size="16384">
    <assemblyIdentity name="MyApplication" version="0.0.0.0" cultural="neutral" processorArchitecture="msil" />
    <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>YzXYZJAvj9pgAG3y8jXUjC7AtHg=</dsig:DigestValue>
    </hash>
  </dependentAssembly>
</dependency>

В следующем примере кода указывается зависимость от сборки, уже установленной в GAC.

<dependency>
  <dependentAssembly dependencyType="preRequisite" allowDelayedBinding="true">
    <assemblyIdentity name="GACAssembly" version="1.0.0.0" language="neutral" processorArchitecture="msil" />
  </dependentAssembly>
</dependency>

В следующем примере кода указывается зависимость от определенной версии среды CLR.

<dependency>
  <dependentAssembly dependencyType="preRequisite" allowDelayedBinding="true">
    <assemblyIdentity name="Microsoft.Windows.CommonLanguageRuntime" version="2.0.50215.0" />
  </dependentAssembly>
</dependency>

В следующем примере кода указывается зависимость от операционной системы.

<dependency>
   <dependentOS supportUrl="https://www.microsoft.com" description="Microsoft Windows Operating System">
      <osVersionInfo>
         <os majorVersion="4" minorVersion="10" />
      </osVersionInfo>
   </dependentOS>
</dependency>

См. также

Ссылки

Манифест развертывания ClickOnce

Элемент <dependency> (приложение ClickOnce)