File di configurazione dell'applicazione
Un file di configurazione dell'applicazione è un file XML usato per controllare l'associazione di assembly. Può reindirizzare un'applicazione dall'uso di una versione di un assembly side-by-side a un'altra versione dello stesso assembly. Questa operazione viene chiamata configurazione per applicazione. Un file di configurazione dell'applicazione si applica solo a un manifesto dell'applicazione specifico e agli assembly dipendenti. I componenti isolati compilati con un manifesto ISOLATIONAWARE_MANIFEST_RESOURCE_ID incorporato richiedono un file di configurazione dell'applicazione separato. I manifesti gestiti con CreateActCtx richiedono un file di configurazione dell'applicazione separato.
Il reindirizzamento specificato da un file di configurazione dell'applicazione può eseguire l'override delle versioni dell'assembly specificate da manifesti dell'applicazione e file di configurazione dell'editore. Ad esempio, se un file di configurazione del server di pubblicazione specifica che tutti i riferimenti a un assembly devono essere reindirizzati dalla versione 1.0.0.0 alla 1.1.0.0, è possibile usare un file di configurazione dell'applicazione per reindirizzare una determinata applicazione per usare la versione 1.0.0.0. Un file di configurazione dell'applicazione si applica solo al manifesto dell'applicazione e agli assembly dipendenti specificati.
Per un elenco completo dello schema XML, vedere Schema del file di configurazione dell'applicazione.
I file di configurazione dell'applicazione hanno gli elementi e gli attributi illustrati nella tabella seguente.
Elemento | Attributi | Obbligatorio |
---|---|---|
configurazione | Sì | |
windows | Sì | |
publisherPolicy | Sì | |
applicare | Sì | |
di runtime | No | |
assemblyBinding | Sì | |
di probe | No | |
privatePath | Sì | |
di dipendenza | No | |
dependentAssembly | Sì | |
assemblyIdentity | Sì | |
tipo | Sì | |
nome | Sì | |
lingua | No | |
processorArchitecture | Sì | |
versione | Sì | |
publicKeyToken | No | |
bindingRedirect | Sì | |
oldVersion | Sì | |
newVersion | Sì |
Percorso file
I file di configurazione dell'applicazione devono essere installati nello stesso percorso del manifesto dell'applicazione .
Sintassi del nome file
Il nome di un file di configurazione dell'applicazione è il nome dell'eseguibile dell'applicazione seguito da .config.
Ad esempio, un file di configurazione dell'applicazione che fa riferimento a Example.exe o Example.dll userebbe la sintassi del nome file illustrata nell'esempio seguente. È possibile omettere il campo per <ID risorsa> se si installa il file di configurazione come file separato o se l'ID risorsa è 1.
example.exe. id risorsa<>.config
example.dll. id risorsa<>.config
Elementi
I nomi di elementi e attributi fanno distinzione tra maiuscole e minuscole. I valori di elementi e attributi non fanno distinzione tra maiuscole e minuscole, ad eccezione del valore dell'attributo type.
configurazione
Elemento contenitore per il di windows e runtime elementi di un file di configurazione dell'applicazione. Obbligatorio.
finestre
Include le parti del file di configurazione dell'applicazione che si applicano al reindirizzamento degli assembly Win32.
Nota
L'autore di un'applicazione non deve includere un file di configurazione con un windows sottoelemento come parte dell'applicazione. Ciò può essere consentito se l'unico scopo del file di configurazione è abilitare la funzionalità privatePath di un elemento di probe. L'elemento di probe non è disponibile nei sistemi precedenti a Windows Server 2008 R2 e Windows 7.
publisherPolicy
Specifica se applicare i criteri dell'editore.
Questo elemento contiene gli attributi illustrati nella tabella seguente.
Attributo | Descrizione |
---|---|
applicare | Il valore "sì" applica i criteri dell'editore. Questa è l'impostazione predefinita. Il valore "no" non applica i criteri dell'editore. |
Runtime
Include le parti del file di configurazione dell'applicazione che si applicano al reindirizzamento di assembly .NET.
assemblyBinding
Include le informazioni di reindirizzamento per l'applicazione e l'assembly interessato da questo file di configurazione dell'applicazione. Il primo sottoelemento di assemblyBinding deve essere un assemblyIdentity che identifica l'applicazione.
A partire da Windows Server 2008 R2 e Windows 7 un elemento assemblyBinding può includere un sottoelemento di probe.
sondaggio
Sottoelemento facoltativo di un assemblyBinding elemento che estende la ricerca di assembly in directory aggiuntive. Le directory aggiuntive non devono essere sottodirectory della directory dell'assembly.
Nota
Questo elemento non è disponibile nei sistemi precedenti a Windows Server 2008 R2 e Windows 7 e può essere usato solo in un elemento windows.
Questo elemento contiene gli attributi illustrati nella tabella seguente.
È possibile usare l'identificatore speciale a due punti in un percorso per indicare la directory padre della directory corrente. Non è possibile specificare più di due livelli sopra la directory corrente usando punti doppi. Non usare triple-dots. Ad esempio, un'applicazione che usa il di probe seguente elemento controlla le directory aggiuntive per un assembly.
<probing privatePath="bin;..\bin2\subbin;bin3"/>
dipendenza
Elemento contenitore per almeno un dependentAssembly. Ogni dependentAssembly può trovarsi all'interno di una dipendenza. Questo elemento non ha attributi. Opzionale.
dependentAssembly
Il primo sottoelemento deve essere un elemento assemblyIdentity che identifica l'assembly side-by-side reindirizzato dal file di configurazione dell'applicazione. Un dependentAssembly non dispone di attributi.
assemblyIdentity
Come primo sottoelemento di un elemento assemblyBinding, assemblyIdentity descrive e identifica in modo univoco un'applicazione. Il file di configurazione dell'applicazione reindirizza l'associazione di questa applicazione agli assembly side-by-side. Ad esempio, il assemblyIdentity seguente indica che il file di configurazione dell'applicazione influisce sull'associazione dell'applicazione mysampleApp agli assembly side-by-side. Gli assembly reindirizzati verranno identificati in un dependentAssembly.
<assemblyIdentity processorArchitecture="X86" name="Microsoft.Windows.mysampleApp" type="win32" version="1.0.0.0"/>
Come primo sottoelemento di un elemento dependentAssembly, assemblyIdentity descrive un assembly affiancato da cui dipende l'applicazione. Il file di configurazione dell'applicazione riconfigura l'identità di questo assembly necessario. Ad esempio, il assemblyIdentity e bindingRedirect riconfigura una dipendenza da Microsoft.Windows.SampleAssembly dalla versione 2.0.0.0 alla versione 2.1.0.0.
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32"
name="Microsoft.Windows.SampleAssembly"
processorArchitecture="x86"
publicKeyToken="0000000000000000"/>
<bindingRedirect oldVersion="2.0.0.0" newVersion="2.1.0.0"/>
</dependentAssembly>
</dependency>
Si noti che ogni assemblyIdentity incluso in un dependentAssembly deve corrispondere esattamente al assemblyIdentity nel manifesto dell'assembly .
L'elemento assemblyIdentity dispone degli attributi seguenti. Non ha sottoelementi.
Attributo | Descrizione |
---|---|
tipo | Il valore deve essere win32 (minuscolo). Obbligatorio. |
nome | L'attributo name identifica l'applicazione interessata dal file di configurazione dell'applicazione o dall'assembly da reindirizzare. Usare il formato seguente per il nome: Organization.Division.Name. Obbligatorio. Ad esempio: Microsoft.Windows.MysampleApp o Microsoft.Windows.MysampleAsm. |
lingua | Identifica la lingua. Opzionale. Per un assemblyIdentity riferimento a un assembly, se l'assembly è specifico del linguaggio, specificare il codice del linguaggio DHTML. Se l'assembly è destinato all'uso globale (indipendente dalla lingua) impostare il valore su "*". |
processorArchitecture | Specifica il processore che esegue l'applicazione. |
versione | Specifica la versione dell'applicazione o dell'assembly. Usare la sintassi della versione in quattro parti: mmmm.nnnn.oooo.pppp. Obbligatorio. |
publicKeyToken | Per un assemblyIdentity che fa riferimento a un assembly, una stringa esadecimale di 16 caratteri che rappresenta gli ultimi 8 byte dell'hash SHA-1 della chiave pubblica in cui è firmato l'assembly. La chiave pubblica usata per firmare il catalogo deve essere di 2048 bit o superiore. Obbligatorio per tutti gli assembly side-by-side condivisi. |
bindingRedirect
L'elemento bindingRedirect contiene informazioni di reindirizzamento per l'associazione dell'assembly. Ogni bindingRedirect deve essere incluso in un solo dependentAssembly. La sintassi della versione in quattro parti della nuova versione e della versione precedente deve specificare le stesse versioni principali e secondarie.
Questo elemento contiene gli attributi illustrati nella tabella seguente.
Attributo | Descrizione |
---|---|
oldVersion | Specifica la versione dell'assembly sottoposta a override e reindirizzamento. Usare la sintassi della versione in quattro parti nnnnn.nnnnn.nnnnn.nnnnn. Specificare un intervallo di versioni con 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 in quattro parti nnnnn.nnnnn.nnnnn.nnnnn. |
Osservazioni
I file di configurazione dell'applicazione non specificano i file.
Esempio
<bindingRedirect oldVersion="1.0.0.0" newVersion="1.0.10.0"/>
<bindingRedirect oldVersion="1.0.50.2011-1.0.60.65535" newVersion="1.0.70.0"/>