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)