Condividi tramite


Funzione CompareAssemblyIdentityWithConfig

Consente di confrontare due identità assembly per determinare se sono uguali dopo avere applicato gli elementi dei criteri di portabilità da un file di configurazione specificato.

STDAPI CompareAssemblyIdentityWithConfig (
    [in]  LPCWSTR                  pwzAssemblyIdentity1,
    [in]  BOOL                     fUnified1,
    [in]  LPCWSTR                  pwzAssemblyIdentity2,
    [in]  BOOL                     fUnified2,
    [in]  struct AssemblyConfig    *pAssemblyConfig,
    [out] BOOL                     *pfEquivalent,
    [out] AssemblyComparisonResult *pResult
 );

Parametri

  • pwzAssemblyIdentity1
    [in] Identità testuale del primo assembly incluso nel confronto.

  • fUnified1
    [in] Flag booleano che indica l'unificazione specificata dall'utente per pwzAssemblyIdentity1.

  • pwzAssemblyIdentity2
    [in] Identità testuale del secondo assembly incluso nel confronto.

  • fUnified2
    [in] Flag booleano che indica l'unificazione specificata dall'utente per pwzAssemblyIdentity2.

  • pAssemblyConfig
    [in] File di configurazione contenente le informazioni che influiscono sui criteri di portabilità, ad esempio l'elemento <supportPortability>.

  • pfEquivalent
    [out] Flag booleano che indica se i due assembly sono equivalenti.

  • pResult
    [out] Valore AssemblyComparisonResult che contiene informazioni dettagliate sul confronto.

Valore restituito

pfEquivalent restituisce un valore booleano che indica se i due assembly sono equivalenti. Il parametro pResult restituisce uno dei valori di AssemblyComparisonResult per fornire informazioni più dettagliate sul motivo del valore di pfEquivalent.

Note

CompareAssemblyIdentityWithConfig verifica se pwzAssemblyIdentity1 e pwzAssemblyIdentity2 si equivalgono. pfEquivalent è impostato su true se una delle condizioni seguenti sono vere dopo l'applicazione di qualsiasi elemento in pAssemblyConfig che influiscono sui criteri di portabilità:

  • Le due identità assembly sono equivalenti. Per essere equivalenti, due assembly che utilizzano un nome sicuro devono presentare nome assembly, versione, token di chiave pubblica e impostazioni cultura identici. Gli assembly che utilizzano un nome semplice risultano equivalenti se i relativi nome assembly e impostazioni cultura corrispondono.

  • Entrambe le identità assembly fanno riferimento ad assembly in esecuzione su .NET Framework. Questa condizione restituisce true anche se i numeri di versione degli assembly non corrispondono.

  • I due assembly non sono gestiti, ma il parametro fUnified1 o fUnified2 è stato impostato su true.

Il flag fUnified indica che tutti i numeri di versione precedenti a quello dell'assembly che utilizza un nome sicuro sono considerati equivalenti all'assembly con nome sicuro. Se, ad esempio, il valore di pwzAssemblyIndentity1 è "MyAssembly, version=3.0.0.0, culture=neutral, publicKeyToken=...." e quello di fUnified1 è true, tutte le versioni di MyAssembly comprese tra 0.0.0.0 e 3.0.0.0 devono essere considerate equivalenti. In questo caso, se pwzAssemblyIndentity2 fa riferimento allo stesso assembly a cui fa riferimento pwzAssemblyIndentity1, differenziandosi da quest'ultimo solo perché presenta un numero di versione inferiore, il parametro pfEquivalent viene impostato su true. Se pwzAssemblyIdentity2 fa riferimento a un numero di versione più elevato, il parametro pfEquivalent viene impostato su true solo se il valore di fUnified2 è true.

Il parametro pResult contiene informazioni specifiche sui motivi che hanno determinato l'equivalenza o meno dei due assembly. Per ulteriori informazioni, vedere l'argomento Enumerazione AssemblyComparisonResult.

Requisiti

Piattaforme: vedere Requisiti di sistema di .NET Framework.

Intestazione: Fusion.h

Libreria: inclusa come risorsa in MsCorEE.dll

Versioni di .NET Framework: 4

Vedere anche

Riferimenti

Enumerazione AssemblyComparisonResult

Shfusion.dll (visualizzatore Assembly Cache)

Funzione CompareAssemblyIdentity

Altre risorse

Funzioni statiche globali Fusion

Cronologia delle modifiche

Data

Cronologia

Motivo

Maggio 2011

Sono stati corretti gli errori nella documentazione iniziale.

Commenti e suggerimenti dei clienti.

Marzo 2011

È stata aggiunta la documentazione API mancante.

Correzione di bug nel contenuto.