Compartir a través de


CompareAssemblyIdentity (Función)

Compara dos identidades de ensamblado para determinar si son equivalentes.

Sintaxis

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

Parámetros

pwzAssemblyIdentity1
[in] Identidad textual del primer ensamblado de la comparación.

fUnified1
[in] Marca booleana que indica la unificación especificada por el usuario para pwzAssemblyIdentity1.

pwzAssemblyIdentity2
[in] Identidad textual del segundo ensamblado en la comparación.

fUnified2
[in] Marca booleana que indica la unificación especificada por el usuario para pwzAssemblyIdentity2.

pfEquivalent
[out] Marca booleana que indica si los dos ensamblados son equivalentes.

pResult
[out] Enumeración AssemblyComparisonResult que contiene información detallada sobre la comparación.

Valor devuelto

pfEquivalent devuelve un valor booleano que indica si los dos ensamblados son equivalentes. pResult devuelve uno de los AssemblyComparisonResult valores para dar un motivo más detallado para el valor de pfEquivalent.

Comentarios

CompareAssemblyIdentity comprueba si pwzAssemblyIdentity1 y pwzAssemblyIdentity2 son equivalentes. pfEquivalent se establece true en en una o varias de las condiciones siguientes:

  • Las dos identidades de ensamblado son equivalentes. Para los ensamblados con nombre seguro, la equivalencia requiere que el nombre del ensamblado, la versión, el token de clave pública y la referencia cultural sean idénticos. Para los ensamblados con nombre simple, la equivalencia requiere una coincidencia en el nombre y la referencia cultural del ensamblado.

  • Ambas identidades de ensamblado hacen referencia a ensamblados que se ejecutan en .NET Framework. Esta condición devuelve true incluso si los números de versión del ensamblado no coinciden.

  • Los dos ensamblados no son ensamblados administrados, pero fUnified1 o fUnified2 se estableció en true.

La fUnified marca indica que todos los números de versión hasta el número de versión del ensamblado con nombre seguro se consideran equivalentes al ensamblado con nombre seguro. Por ejemplo, si el valor de pwzAssemblyIdentity1 es "MyAssembly, version=3.0.0.0, culture=neutral, publicKeyToken=....", y el valor de fUnified1 es true, esto indica que todas las versiones de MyAssembly de la versión 0.0.0.0 a 3.0.0.0.0 deben tratarse como equivalentes. En tal caso, si pwzAssemblyIdentity2 hace referencia al mismo ensamblado que pwzAssemblyIdentity1, excepto que tiene un número de versión inferior, pfEquivalent se establece en true. Si pwzAssemblyIdentity2 hace referencia a un número de versión superior, pfEquivalent se establece en true solo si el valor de fUnified2 es true.

El pResult parámetro incluye información específica sobre por qué los dos ensamblados se consideran equivalentes o no equivalentes. Para obtener más información, vea AssemblyComparisonResult (enumeración).

Requisitos

Plataformas: Vea Requisitos de sistema.

Encabezado: Fusion.h

Biblioteca: incluida como recurso en MsCorEE.dll

Versiones de .NET Framework: disponible a partir de la versión 2.0

Consulte también