Share via


File di configurazione del server di pubblicazione

Un file di configurazione del server di pubblicazione è un file XML che reindirizza le applicazioni e gli assembly a livello globale usando una versione di un assembly side-by-side a un'altra versione dello stesso assembly. In genere, il server di pubblicazione dell'assembly genera una correzione di aggiornamento o sicurezza compatibile su base per assembly rilasciando un file di configurazione del server di pubblicazione da installare insieme a un aggiornamento del Service Pack. Questa operazione viene definita configurazione del server di pubblicazione. Per altre informazioni su questo tipo di configurazione , vedere Configurazione server di pubblicazione.

I file di configurazione del server di pubblicazione hanno gli elementi e gli attributi seguenti. Per un elenco completo dello schema XML, vedere Schema file di configurazione del server di pubblicazione.

Elemento Attributi Necessario
Assemblea
manifestVersion
Assemblyidentity
type
nome
language No
processorArchitecture No
version
Publickeytoken No
Dipendenza No
dependentAssembly No
bindingRedirect
oldVersion
newVersion

Percorso file

I file di configurazione del server di pubblicazione devono essere installati nella cartella WinSxS. Vengono comunemente installati come file separati, ma i file di configurazione del server di pubblicazione possono essere inclusi anche come risorsa in una DLL. Non è possibile includere un file di configurazione del server di pubblicazione come risorsa in un file EXE. Un file EXE può includere un manifesto dell'applicazione come risorsa.

Sintassi del nome file

Il nome file di un file di configurazione del server di pubblicazione include i criteri del modulo. principale. minore. assemblyname dove principale e secondario fanno riferimento alle parti principali e secondarie della versione dell'assembly interessata. Il nome dell'assembly fa riferimento al nome dell'assembly.

Ad esempio, un file di configurazione del server di pubblicazione per la versione 6.0 dell'assembly Microsoft.Windows.Common-Controls avrà il nome seguente:

policy.6.0.Microsoft.Windows.Common-Controls

Non usare i file di configurazione dei criteri per incrementare la versione principale o secondaria di un assembly. Ad esempio, non reindirizzare la versione 6.0.0.0 a 7.0.0.0 o 6.1.0.0. Quando un'applicazione fa riferimento a una versione di assembly, ad esempio 6.0.0.0, verifica side-by-side la presenza di qualsiasi file di configurazione dei criteri con le versioni principali e secondarie specificate, ad esempio 6.0. L'applicazione viene quindi reindirizzata a un'altra versione dell'assembly, ad esempio 6.0.1.0. Se un file di configurazione del server di pubblicazione incrementa la versione principale o secondaria di un assembly, il reindirizzamento successivo dell'assembly può richiedere l'emissione di più file di configurazione dei criteri.

Elementi

Assemblea

Elemento contenitore. Il primo sottoelemento deve essere un assemblyIdentity. Obbligatorio.

L'elemento assembly deve trovarsi nell'urn dello spazio dei nomi:schemas-microsoft-com:asm.v1. Gli elementi figlio dell'assembly devono trovarsi anche in questo spazio dei nomi, tramite ereditarietà o tag.

L'elemento assembly ha gli attributi seguenti.

Attributo Descrizione
manifestVersion L'attributo manifestVersion deve essere impostato su 1.0.

Assemblyidentity

Descrive e identifica in modo univoco un assembly side-by-side.

Come primo sottoelemento di un elemento assembly, l'assemblyIdentity descrive l'assembly side-by-side con una o più dipendenze dell'assembly modificate. Il file di configurazione del server di pubblicazione reindirizza le dipendenze dell'assembly identificato. Ad esempio, l'assemblyIdentity seguente indica che il file di configurazione del server di pubblicazione influisce sulle dipendenze dell'assembly x86 Microsoft.Windows.Pop 6.0.0.0.

<assemblyIdentity 
     type="win32-policy" 
     publicKeyToken="0000000000000000" 
     name="policy.6.0.Microsoft.Windows.Pop" 
     version="2.1.0.0" 
     processorArchitecture="x86"/>

Come primo sottoelemento di un elemento dipendenteAssembly , assemblyIdentity descrive una dipendenza dell'assembly side-by-side. Il file di configurazione del server di pubblicazione riconfigura l'identità di questo assembly side-by-side richiesto. La modifica viene specificata in un bindingRedirect. Ad esempio, l'assemblyIdentity seguente modifica qualsiasi dipendenza da Microsoft.Windows.SampleAssembly versione 2.0.0.0.0 a una dipendenza da Microsoft.Windows.SampleAssembly versione 2.0.1.0.

<dependency>
      <dependentAssembly>
         <assemblyIdentity 
type="win32" 
name="Microsoft.Windows.SampleAssembly"  
processorArchitecture="x86"
publicKeyToken="0000000000000000"/>
         <bindingRedirect oldVersion="2.0.0.0" newVersion="2.0.1.0"/>
      </dependentAssembly>
</dependency>

L'elemento assemblyIdentity ha gli attributi seguenti. Non ha elementi secondari.

Attributo Descrizione
type Specifica il tipo di assembly. Obbligatorio. Nell'assemblyIdentity per l'assembly interessato, il valore dell'attributo di tipo deve essere impostato su win32-policy. Il valore win32-policy deve essere in tutte le lettere minuscole.
Nell'assemblyIdentity per la modifica della dipendenza dell'assembly, il valore dell'attributo di tipo deve essere impostato su win32. Il valore win32 deve essere in tutte le lettere minuscole.
nome Assegna un nome univoco a un assembly. Obbligatorio. Nell'assemblyIdentity per l'assembly interessato, il nome ha i criteri del modulo. principale. minore. assemblyname dove principale e secondario fanno riferimento alle parti principali e secondarie della versione dell'assembly.
Nell'assemblyIdentity per la modifica della dipendenza dell'assembly, il nome ha il modulo Organization.Division.Name. Ad esempio, Microsoft.Windows.MysampleApp.
language Identifica la lingua dell'assembly. Facoltativa. Nell'assemblyIdentity per l'assembly interessato, se l'assembly è specifico del linguaggio, specificare il codice del linguaggio DHTML. Se l'assembly è destinato all'uso in tutto il mondo (lingua neutrale), omettere questo attributo.
Nell'assemblyIdentity per la modifica della dipendenza dell'assembly, se l'assembly è specifico del linguaggio, specificare il codice del linguaggio DHTML. Se l'assembly è destinato all'uso globale (lingua neutrale) imposta il valore come "*".
processorArchitecture Specifica il processore che esegue l'applicazione.
version Specifica la versione dell'assembly. Usare la sintassi della versione a quattro parti: mmmm.nnnn.oooo.pppp Obbligatorio solo nell'assembly def-contextIdentity. Non specificare l'attributo di versione nell'assembly di contesto REFIdentity.
Publickeytoken Stringa esadecimale a 16 caratteri che rappresenta gli ultimi 8 byte dell'hash SHA-1 della chiave pubblica in cui viene firmato l'assembly. La chiave pubblica usata per firmare il catalogo deve essere di 2048 bit o successiva. È necessario un publicKeyToken per tutti gli assembly side-by-side condivisi. PublicKeyToken usato per il file di configurazione del server di pubblicazione deve essere la stessa chiave usata per l'assembly firmato. I file di configurazione del server di pubblicazione possono essere firmati usando gli stessi strumenti usati con gli assembly, vedere Esempio di firma assembly e creazione di file e cataloghi firmati.

Dipendenza

Elemento contenitore facoltativo per almeno un dipendenteAssembly. Non ha attributi.

dependentAssembly

Ogni dipendenteAssembly deve trovarsi all'interno di una dipendenza esatta. Un oggetto dependentAssembly non ha attributi. Il primo sottoelemento dipendenteAssembly deve essere un assemblyIdentity per l'assembly side-by-side riconfigurato dalla configurazione del server di pubblicazione.

bindingRedirect

L'elemento bindingRedirect contiene informazioni di reindirizzamento per l'associazione dell'assembly.

Questo elemento ha gli attributi visualizzati nella tabella seguente.

Attributo Descrizione
oldVersion Specifica la versione dell'assembly sottoposto a override e reindirizzamento. Usare la sintassi della versione a quattro parti nnnnn.nnnnn.nnnnn.nnn. Specificare un intervallo di versioni in base a un trattino senza spazi. Ad esempio, 2.14.3.0 o 2.14.3.0 2.16.0.0. Obbligatorio.
newVersion Specifica la versione dell'assembly sostitutivo. Usare la sintassi della versione a quattro parti nnnnn.nnnnn.nnnnn.nnn.

Commenti

I file di configurazione del server di pubblicazione non specificano i file. Si noti che i file di criteri specifici del linguaggio sono separati dal file di configurazione del server di pubblicazione.

Esempio

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity type="win32-policy" publicKeyToken="0000000000000000" name="policy.6.0.Proseware.Research.SampleAssembly" version="1.0.1.0" language="en-us" processorArchitecture="x86"/>
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" publicKeyToken="0000000000000000" name="Proseware.Research.SampleAssembly" language="en-us" processorArchitecture="x86"/>
<bindingRedirect oldVersion="1.0.0.0" newVersion="1.0.1.0"/>
</dependentAssembly>
</dependency>
</assembly>