Configurazione per applicazione
La configurazione per applicazione reindirizza la dipendenza di una determinata applicazione da una versione di un assembly side-by-side a un'altra versione dell'assembly. Una configurazione per applicazione può diventare necessaria se l'operazione corretta di un'applicazione specifica richiede una versione dell'assembly diversa da quella normalmente specificata come configurazione predefinita o configurazione del server di pubblicazione. Ad esempio, un aggiornamento globale della versione dell'assembly da parte del server di pubblicazione potrebbe correggere l'assembly, ma interrompere questa particolare applicazione. In questo caso, la configurazione per applicazione potrebbe essere usata per consentire all'applicazione di continuare l'esecuzione con la versione precedente dell'assembly.
A partire da Windows Server 2003, la configurazione per applicazione sostituisce sempre la configurazione predefinita per ogni applicazione. La configurazione per applicazione esegue l'override configurazione dell'editore per ogni applicazione solo se il file di configurazione dell'applicazione specifica apply="no" in publisherPolicy e nel database di compatibilità delle applicazioni è presente una voce corrispondente.
Nota
In Windows XP, la configurazione per applicazione esegue l'override sia configurazione predefinita che configurazione dell'editore in base all'applicazione. Per informazioni, vedere Configurazione per applicazione in Windows XP.
A partire da Windows Server 2003, una configurazione per applicazione eseguirà l'override di una configurazione dell'autore se il file di configurazione dell'applicazione specifica apply="yes" in publisherPolicy e il flag EnableAppConfig è impostato per l'applicazione nel database di compatibilità delle applicazioni. Questa funzionalità per eseguire l'override di una configurazione dell'editore tramite una configurazione per applicazione consente l'esecuzione dell'applicazione in Safemode. Per altre informazioni sul database di compatibilità delle applicazioni e su Safemode, vedere Windows Application Compatibility Toolkit. È possibile ottenere Windows Application Compatibility Toolkit da https://www.microsoft.com/downloads.
Nota
Se si invieranno componenti con un file di configurazione dell'applicazione (.config file) che specifica apply="no" in publisherPolicy, la generazione del contesto di attivazione avrà esito negativo. La configurazione per applicazione verrà ignorata se si invieranno componenti con un file .config che specifica apply="yes" in publisherPolicy.
Gli amministratori di applicazioni possono implementare una configurazione per applicazione creando e installando i file di configurazione dell'applicazione e aggiornando il database di compatibilità delle applicazioni. Il file di configurazione dell'applicazione deve quindi essere distribuito e installato nella stessa cartella del file eseguibile dell'applicazione. Per un elenco dello schema di file, vedere schema del file di configurazione dell'applicazione . Il database di compatibilità delle applicazioni deve essere distribuito come descritto in Application Compatibility Toolkit.
Nota
Se l'applicazione viene eseguita in Safemode, non riceverà correzioni di sicurezza importanti o correzioni di bug che l'autore dell'assembly potrebbe emettere come file di configurazione dell'editore. Un'applicazione che usa la configurazione per applicazione può pertanto rimanere non sicura o continuare a funzionare in modo errato anche dopo l'applicazione di un nuovo assembly con queste correzioni al sistema. Per questo motivo, gli sviluppatori di applicazioni non devono mai inviare un'applicazione con una configurazione per applicazione. La configurazione per applicazione deve essere usata solo dagli amministratori aziendali come correzione temporanea quando l'applicazione viene interrotta da una configurazione dell'editore. In questo caso, la soluzione permanente è che gli sviluppatori dell'assembly e gli sviluppatori dell'applicazione dovranno collaborare per garantire che gli assembly con la configurazione dell'editore siano completamente compatibili con le versioni precedenti.
Di seguito è riportato un esempio di file di configurazione dell'applicazione. Per altre informazioni, vedere File di configurazione dell'applicazione.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<configuration>
<windows>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<assemblyIdentity processorArchitecture="X86" name="Microsoft.Windows.mysampleApp" type="win32" version="1.0.0.0"/>
<publisherPolicy apply="no"/>
<dependentAssembly>
<assemblyIdentity type="win32" processorArchitecture="x86" name="Microsoft.Windows.SampleAssembly" publicKeyToken="0000000000000000"/>
<bindingRedirect oldVersion="2.0.0.0" newVersion="2.0.1.0"/>
</dependentAssembly>
</assemblyBinding>
</windows>
</configuration>
L'amministratore dell'applicazione deve aggiungere le voci necessarie al database di compatibilità delle applicazioni. Scaricare e installare Windows Application Compatibility Toolkit 2.6 da https://www.microsoft.com/downloads. Creare un nuovo database personalizzato o aggiornare il database esistente usando l'amministratore di compatibilità come descritto nel toolkit. La correzione di compatibilità che si vuole scegliere per il livello di compatibilità per l'applicazione è EnableAppConfig. È necessario testare sempre le applicazioni prima di installare un nuovo database di compatibilità.