Funzione CompareAssemblyIdentity

Confronta due identità di assembly per determinare se sono equivalenti.

Sintassi

STDAPI CompareAssemblyIdentity (  
    [in]  LPCWSTR                  pwzAssemblyIdentity1,  
    [in]  BOOL                     fUnified1,  
    [in]  LPCWSTR                  pwzAssemblyIdentity2,  
    [in]  BOOL                     fUnified2,  
    [out] BOOL                     *pfEquivalent,  
    [out] AssemblyComparisonResult *pResult  
 );  

Parametri

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

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

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

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

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

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

Valore restituito

pfEquivalent restituisce un valore booleano che indica se i due assembly sono equivalenti. pResult restituisce uno dei AssemblyComparisonResult valori , per fornire un motivo più dettagliato per il valore di pfEquivalent.

Commenti

CompareAssemblyIdentity controlla se pwzAssemblyIdentity1 e pwzAssemblyIdentity2 sono equivalenti. pfEquivalent è impostato su true in una o più delle condizioni seguenti:

  • Le due identità degli assembly sono equivalenti. Per gli assembly con nome sicuro, l'equivalenza richiede che il nome dell'assembly, la versione, il token di chiave pubblica e le impostazioni cultura siano identici. Per gli assembly denominati semplicemente, l'equivalenza richiede una corrispondenza per il nome dell'assembly e le impostazioni cultura.

  • Entrambe le identità degli assembly fanno riferimento agli assembly eseguiti in .NET Framework. Questa condizione restituisce true anche se i numeri di versione dell'assembly non corrispondono.

  • I due assembly non sono assembly gestiti, ma fUnified1 sono fUnified2 stati impostati su true.

Il fUnified flag indica che tutti i numeri di versione fino al numero di versione dell'assembly con nome sicuro sono considerati equivalenti all'assembly con nome sicuro. Ad esempio, se il valore di pwzAssemblyIdentity1 è "MyAssembly, version=3.0.0.0, culture=neutral, publicKeyToken=....", e il valore di fUnified1 è true, indica che tutte le versioni di MyAssembly dalla versione 0.0.0.0.0 alla 3.0.0.0 devono essere considerate equivalenti. In questo caso, se pwzAssemblyIdentity2 fa riferimento allo stesso assembly di pwzAssemblyIdentity1, ad eccezione del fatto che ha un numero di versione inferiore, pfEquivalent è impostato su true. Se pwzAssemblyIdentity2 fa riferimento a un numero di versione superiore, pfEquivalent viene impostato su true solo se il valore di fUnified2 è true.

Il pResult parametro include informazioni specifiche sul motivo per cui i due assembly sono considerati equivalenti o non equivalenti. Per altre informazioni, vedere Enumerazione AssemblyComparisonResult.

Requisiti

Piattaforme: vedere Requisiti di sistema di .NET Framework.

Intestazione: Fusion.h

Libreria: Incluso come risorsa in MsCorEE.dll

Versioni di .NET Framework: Disponibile dalla versione 2.0

Vedi anche