Uso di assembly side-by-side come risorsa
È possibile aggiungere un manifesto a un'applicazione come risorsa nel file di intestazione eseguibile binario dell'applicazione. Il valore della MANIFEST_RESOURCE_ID determina la modalità di utilizzo delle dipendenze dell'assembly side-by-side descritte nel manifesto dal caricatore.
Se si imposta il MANIFEST_RESOURCE_ID su 1, il caricatore usa le dipendenze dell'assembly side-by-side specificate nel manifesto come impostazione predefinita del processo. Tutti i plug-in usano anche questo processo predefinito.
Nella tabella seguente viene riepilogato il modo in cui il caricatore usa il manifesto per valori diversi di MANIFEST_RESOURCE_ID quando l'applicazione viene compilata con il flag -DISOLATION_AWARE_ENABLED. Si noti che i valori 1-16 sono riservati per l'uso da parte di Windows XP. Uno sviluppatore può usare altri valori se vogliono gestire i contesti di attivazione usando le funzioni descritte in Riferimento al contesto di attivazione.
Valore di MANIFEST_RESOURCE_ID | Manifesto specifica il valore predefinito del processo? | Usare per le importazioni statiche? | Usare per un file EXE? | Usare per una DLL? | Usa la versione side-by-side degli assembly se compilata con -DISOLATION_AWARE_ENABLED? |
---|---|---|---|---|---|
1 | Sì | Sì | Sì | No | Sì |
2 | No | Sì | Sì | Sì | Sì |
3 | No | No | Sì | Sì | Sì |
MANIFEST_RESOURCE_ID 1 deve essere usato per le applicazioni che non ospitano plug-in. Usare MANIFEST_RESOURCE_ID 1 quando tutte le parti dell'applicazione devono usare la versione dell'assembly side-by-side specificato nel manifesto. Per altre informazioni, vedere Abilitazione di un assembly in un'applicazione senza estensioni.
MANIFEST_RESOURCE_ID 2 deve essere usato per le applicazioni che ospitano controlli o plug-in di terze parti. In questo caso, il manifesto influisce su tutti gli assembly side-by-side caricati da caricamento statico, chiamate a DllMain e chiamate reindirizzate da -DISOLATION_AWARE_ENABLED. Per altre informazioni, vedere Abilitazione di un assembly in un'applicazione che ospita una DLL, un'estensione o Pannello di controllo.
MANIFEST_RESOURCE_ID 3 deve essere usato solo per il reindirizzamento delle chiamate da -DISOLATION_AWARE_ENABLED. Il caricamento da parte di altri metodi non è interessato.