Condividi tramite


Funzione CompareAssemblyIdentity

Confronta due identità assembly per determinare se sono equivalenti.

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 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.

  • 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. Il parametro pResult restituisce uno dei valori di AssemblyComparisonResult per fornire informazioni più dettagliate sul motivo del valore di pfEquivalent.

Note

CompareAssemblyIdentity verifica se pwzAssemblyIdentity1 e pwzAssemblyIdentity2 si equivalgono. Il parametro pfEquivalent viene impostato su true in uno o più dei seguenti casi:

  • 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 Enumerazione AssemblyComparisonResult.

Chiamare questa funzione è la stessa cosa che chiamare la funzione CompareAssembyIdentityWithConfig e passare NULL per il parametro pAssemblyConfig.

Requisiti

Piattaforme: vedere Requisiti di sistema di .NET Framework.

Intestazione: Fusion.h

Libreria: inclusa come risorsa in MsCorEE.dll

Versioni di .NET Framework: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0

Vedere anche

Riferimenti

Enumerazione AssemblyComparisonResult

Shfusion.dll (visualizzatore Assembly Cache)

Altre risorse

Funzioni statiche globali Fusion

Funzione CompareAssemblyIdentityWithConfig