Partager via


CompareAssemblyIdentity, fonction

Compare deux identités d’assembly pour déterminer si elles sont équivalentes.

Syntaxe

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

Paramètres

pwzAssemblyIdentity1
[in] Identité textuelle du premier assembly de la comparaison.

fUnified1
[in] Indicateur booléen indiquant l’unification spécifiée par l’utilisateur pour pwzAssemblyIdentity1.

pwzAssemblyIdentity2
[in] Identité textuelle du deuxième assembly de la comparaison.

fUnified2
[in] Indicateur booléen indiquant l’unification spécifiée par l’utilisateur pour pwzAssemblyIdentity2.

pfEquivalent
[out] Indicateur booléen indiquant si les deux assemblys sont équivalents.

pResult
[out] Énumération AssemblyComparisonResult contenant des informations détaillées sur la comparaison.

Valeur renvoyée

pfEquivalent retourne une valeur booléenne indiquant si les deux assemblys sont équivalents. pResult retourne l’une des valeurs AssemblyComparisonResult pour fournir une raison plus détaillée de la valeur pfEquivalent.

Notes

CompareAssemblyIdentity vérifie si pwzAssemblyIdentity1 et pwzAssemblyIdentity2 sont équivalents. pfEquivalent est défini sur true dans une ou plusieurs des conditions suivantes :

  • Les deux identités d’assembly sont équivalentes. Pour les assemblys à nom fort, l’équivalence nécessite que le nom, la version, le jeton de clé publique et la culture des assemblys soient identiques. Pour les assemblys à nom simple, l’équivalence nécessite une correspondance du nom et de la culture des assemblys.

  • Les identités des deux assemblys font référence à des assemblys qui s’exécutent sur .NET Framework. Cette condition retourne true même si les numéros de version d’assembly ne correspondent pas.

  • Les deux assemblys ne sont pas des assemblys managés, mais fUnified1 ou fUnified2 est défini sur true.

L’indicateur fUnified indique que tous les numéros de version jusqu’au numéro de version de l’assembly avec un nom fort sont considérés comme étant équivalents à l’assembly avec un nom fort. Par exemple, si la valeur de pwzAssemblyIdentity1 est « MyAssembly, version=3.0.0.0, culture=neutral, publicKeyToken=.... » et que la valeur de fUnified1 est true, cela indique que toutes les versions de MyAssembly comprises entre la version 0.0.0.0 et 3.0.0.0 doivent être traitées comme étant équivalentes. Dans ce cas, si pwzAssemblyIdentity2 fait référence au même assembly que pwzAssemblyIdentity1, mais présente un numéro de version inférieur, pfEquivalent est défini sur true. Si pwzAssemblyIdentity2 fait référence à un numéro de version supérieur, pfEquivalent est défini sur true uniquement si la valeur fUnified2 est true.

Le paramètre pResult inclut des informations spécifiques concernant la raison pour laquelle les deux assemblys sont considérés comme étant équivalents ou non. Pour plus d’informations, consultez Énumération AssemblyComparisonResult.

Configuration requise

Plateformes : Consultez Configuration requise.

En-tête : Fusion.h

Bibliothèque : incluse comme ressource dans MsCorEE.dll

Versions du .NET Framework : Disponibles depuis la version 2.0

Voir aussi