Partager via


CompareAssemblyIdentity, fonction

Compare les identités de deux assemblys pour déterminer s'ils sont équivalents.

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 qui indique l'unification spécifiée par l'utilisateur pour pwzAssemblyIdentity1.

  • pwzAssemblyIdentity2
    [in] Identité textuelle du second assembly de la comparaison.

  • fUnified2
    [in] Indicateur booléen qui indique l'unification spécifiée par l'utilisateur pour pwzAssemblyIdentity2.

  • pfEquivalent
    [out] Indicateur booléen qui indique si les deux assemblys sont équivalents.

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

Valeur de retour

pfEquivalent retourne une valeur Boolean qui indique si les deux assemblys sont équivalents. pResult retourne l'une des valeurs AssemblyComparisonResult, pour donner une raison plus détaillée de la valeur de pfEquivalent.

Notes

CompareAssemblyIdentity vérifie si pwzAssemblyIdentity1 et pwzAssemblyIdentity2 sont équivalents. pfEquivalent a la valeur true sous une ou plusieurs des conditions suivantes :

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

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

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

L'indicateur fUnified indique que tous les numéros de versions jusqu'au numéro de l'assembly à nom fort sont considérés comme étant équivalents à l'assembly à nom fort. Par exemple, si la valeur de pwzAssemblyIndentity1 est « MonAssembly, version=3 .0.0.0, culture=neutral, publicKeyToken=.... » et si la valeur de fUnified1 est true, cela indique que toutes les versions de MonAssembly de 0.0.0.0 à 3.0.0.0 doivent être traitées comme étant équivalentes. Dans ce cas, si pwzAssemblyIndentity2 fait référence au même assembly que pwzAssemblyIndentity1, mais porte un numéro de version inférieur, pfEquivalent a la valeur true. Si pwzAssemblyIdentity2 fait référence à un numéro de version supérieur, pfEquivalent a la valeur true uniquement si la valeur de fUnified2 est true.

Le paramètre pResult inclut des informations spécifiques à propos des raisons pour lesquelles les deux assemblys sont considérés comme équivalents ou pas. Pour plus d'informations, consultez AssemblyComparisonResult, énumération.

L'appel de cette fonction est identique à l'appel de la fonction CompareAssembyIdentityWithConfig et au passage de NULL pour le paramètre pAssemblyConfig.

Configuration requise

Plateformes : consultez Configuration requise du .NET Framework.

En-tête : Fusion.h

Bibliothèque : incluse en tant que ressource dans MsCorEE.dll

Versions du .NET Framework : 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0

Voir aussi

Référence

AssemblyComparisonResult, énumération

Shfusion.dll (visionneuse du cache d'assembly)

Autres ressources

Fonctions statiques globales de la fusion

Fonction CompareAssemblyIdentityWithConfig