CompareAssemblyIdentity (Función)
Compara dos identidades de ensamblado para determinar si son equivalentes.
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] Marcador booleano que indica la unificación especificada por el usuario para pwzAssemblyIdentity1.pwzAssemblyIdentity2
[in] Identidad textual del segundo ensamblado de la comparación.fUnified2
[in] Marcador booleano que indica la unificación especificada por el usuario para pwzAssemblyIdentity2.pfEquivalent
[out] Marcador booleano 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 dos ensamblados son equivalentes. pResult devuelve uno de los valores AssemblyComparisonResult, para proporcionar una razón más detallada para el valor de pfEquivalent.
Comentarios
CompareAssemblyIdentity comprueba si pwzAssemblyIdentity1 y pwzAssemblyIdentity2 son equivalentes. pfEquivalent se ha establecido en true si se da alguna de las siguientes condiciones:
Las dos identidades de ensamblado son equivalentes. Para los ensamblados con nombre seguro, la equivalencia requiere que el nombre, la versión, el símbolo (token) de la clave pública y la referencia cultural del ensamblado sean idénticos. Para los ensamblados con nombre simple, la equivalencia requiere que coincidan 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 aun cuando los números de versión de ensamblado no coincidan.
Los dos ensamblados no son ensamblados administrados, pero fUnified1 o fUnified2 se establecieron en true.
El marcador fUnified indica que todos los números de versión hasta el del ensamblado con nombre seguro se consideran equivalentes al ensamblado con nombre seguro. Por ejemplo, si el valor de pwzAssemblyIndentity1 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 desde la versión 0.0.0.0 hasta la versión 3.0.0.0 deberían ser equivalentes. En tal caso, si pwzAssemblyIndentity2 hace referencia al mismo ensamblado que pwzAssemblyIndentity1, pero tiene un número de versión más bajo, pfEquivalent se establece en true. Si pwzAssemblyIdentity2 hace referencia a un número de versión mayor, pfEquivalent se establece en true sólo si el valor de fUnified2 es true.
El parámetro pResult 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).
Llamar a esta función equivale a llamar a la función CompareAssembyIdentityWithConfig y pasar NULL para el parámetro pAssemblyConfig.
Requisitos
Plataformas: vea Requisitos de sistema de .NET Framework.
Encabezado: Fusion.h
Biblioteca: Se incluye como recurso en MsCorEE.dll
Versiones de .NET Framework: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0
Vea también
Referencia
AssemblyComparisonResult (Enumeración)
Shfusion.dll (Visor de la memoria caché de ensamblados)