<elemento dependency> (distribuzione ClickOnce)

Identifica la versione dell'applicazione da installare e il percorso del manifesto dell'applicazione.

Sintassi


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

Elementi e attributi

L'elemento dependency è obbligatorio. Non ha attributi. Un manifesto della distribuzione può avere più dependency elementi.

L'elemento dependency esprime in genere le dipendenze per l'applicazione principale negli assembly contenuti in un'applicazione ClickOnce. Se l'applicazione Main.exe utilizza un assembly denominato DotNetAssembly.dll, tale assembly deve essere elencato in una sezione delle dipendenze. Le dipendenze, tuttavia, possono anche esprimere altri tipi di dipendenze, ad esempio dipendenze da una versione specifica di Common Language Runtime, in un assembly nella Global Assembly Cache (GAC) o in un oggetto COM. Poiché si tratta di una tecnologia di distribuzione senza tocco, ClickOnce non può avviare il download e l'installazione di questi tipi di dipendenze, ma impedisce l'esecuzione dell'applicazione se una o più delle dipendenze specificate non esistono.

dependentAssembly

Obbligatorio. Questo elemento contiene l'elemento assemblyIdentity . Nella tabella seguente vengono illustrati gli attributi dependentAssembly supportati.

Attributo Descrizione
preRequisite Facoltativo. Specifica che questo assembly deve esistere già nella GAC. I valori validi sono true e false. Se truee l'assembly specificato non esiste nella GAC, l'applicazione non viene eseguita.
visible Facoltativo. Identifica l'identità dell'applicazione di primo livello, incluse le relative dipendenze. Usato internamente da ClickOnce per gestire l'archiviazione e l'attivazione dell'applicazione.
dependencyType Obbligatorio. Relazione tra questa dipendenza e l'applicazione. I valori validi sono:

- install. Il componente rappresenta un'installazione separata dall'applicazione corrente.
- preRequisite. Il componente è richiesto dall'applicazione corrente.
codebase Facoltativo. Percorso completo del manifesto dell'applicazione.
size Facoltativo. Dimensioni in byte del manifesto dell'applicazione.

assemblyIdentity

Obbligatorio. Questo elemento è figlio dell'elemento dependentAssembly . Il contenuto di deve essere uguale a quello descritto nel manifesto dell'applicazione assemblyIdentity ClickOnce. Nella tabella seguente vengono illustrati gli attributi dell'elemento assemblyIdentity .

Attributo Descrizione
Name Obbligatorio. Identifica il nome dell'applicazione.
Version Obbligatorio. Specifica il numero di versione dell'applicazione, nel formato seguente: major.minor.build.revision
publicKeyToken Obbligatorio. Specifica una stringa esadecimale di 16 caratteri che rappresenta gli ultimi 8 byte dell'hash SHA-1 della chiave pubblica in cui è firmata l'applicazione o l'assembly. La chiave pubblica usata per firmare deve essere di 2048 bit o superiore.
processorArchitecture Obbligatorio. Specifica il microprocessore. I valori validi sono x86 per Windows a 32 bit e IA64 per Windows a 64 bit.
Language Facoltativo. Identifica i codici della lingua in due parti dell'assembly. Ad esempio, EN-US, che è l'acronimo di Inglese (Stati Uniti). Il valore predefinito è neutral. Questo elemento si trova nello spazio dei asmv2 nomi .
type Facoltativo. Per la compatibilità con le versioni precedenti con la tecnologia di installazione side-by-side di Windows. L'unico valore consentito è win32.

hash

L'elemento hash è un elemento figlio facoltativo dell'elemento file . L'elemento hash non ha attributi.

ClickOnce usa un hash algoritmico di tutti i file in un'applicazione come controllo di sicurezza per assicurarsi che nessuno dei file sia stato modificato dopo la distribuzione. Se l'elemento hash non è incluso, questo controllo non verrà eseguito. Pertanto, l'omissione dell'elemento hash non è consigliata.

dsig:Transforms

L'elemento dsig:Transforms è un elemento figlio obbligatorio dell'elemento hash . L'elemento dsig:Transforms non ha attributi.

dsig:Transform

L'elemento dsig:Transform è un elemento figlio obbligatorio dell'elemento dsig:Transforms . Nella tabella seguente vengono illustrati gli attributi dell'elemento dsig:Transform .

Attributo Descrizione
Algorithm Algoritmo utilizzato per calcolare il digest per questo file. Attualmente l'unico valore usato da ClickOnce è urn:schemas-microsoft-com:HashTransforms.Identity.

dsig:DigestMethod

L'elemento dsig:DigestMethod è un elemento figlio obbligatorio dell'elemento hash . Nella tabella seguente vengono illustrati gli attributi dell'elemento dsig:DigestMethod .

Attributo Descrizione
Algorithm Algoritmo utilizzato per calcolare il digest per questo file. Attualmente l'unico valore usato da ClickOnce è http://www.w3.org/2000/09/xmldsig#sha1.

dsig:DigestValue

L'elemento dsig:DigestValue è un elemento figlio obbligatorio dell'elemento hash . L'elemento dsig:DigestValue non ha attributi. Il valore di testo è l'hash calcolato per il file specificato.

Osservazioni:

I manifesti di distribuzione in genere hanno un singolo assemblyIdentity elemento che identifica il nome e la versione del manifesto dell'applicazione.

Esempio 1

L'esempio di codice seguente mostra un dependency elemento in un manifesto della distribuzione 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>

Esempio 2

Nell'esempio di codice seguente viene specificata una dipendenza da un assembly già installato nella GAC.

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

Esempio 3

Nell'esempio di codice seguente viene specificata una dipendenza da una versione specifica di Common Language Runtime.

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

Esempio 4

Nell'esempio di codice seguente viene specificata una dipendenza del sistema operativo.

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

Vedi anche