Compartilhar via


Função CompareAssemblyIdentity

Compara duas identidades de assembly para determinar se elas são equivalentes.

Sintaxe

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

Parâmetros

pwzAssemblyIdentity1
[in] A identidade textual do primeiro assembly na comparação.

fUnified1
[in] Um sinalizador booliano que indica a unificação especificada pelo usuário para pwzAssemblyIdentity1.

pwzAssemblyIdentity2
[in] A identidade textual do segundo assembly na comparação.

fUnified2
[in] Um sinalizador booliano que indica a unificação especificada pelo usuário para pwzAssemblyIdentity2.

pfEquivalent
[out] Um sinalizador booliano que indica se os dois assemblies são equivalentes.

pResult
[out] Uma enumeração AssemblyComparisonResult que contém informações detalhadas sobre a comparação.

Valor Retornado

pfEquivalent retorna um valor booliano que indica se os dois assemblies são equivalentes. pResult retorna um dos AssemblyComparisonResult valores para fornecer um motivo mais detalhado para o valor de pfEquivalent.

Comentários

CompareAssemblyIdentity verifica se pwzAssemblyIdentity1 e pwzAssemblyIdentity2 são equivalentes. pfEquivalent é definido como true em uma ou mais das seguintes condições:

  • As duas identidades de assembly são equivalentes. Para assemblies fortemente nomeados, a equivalência requer que o nome do assembly, a versão, o token de chave pública e a cultura sejam idênticos. Para assemblies simplesmente nomeados, a equivalência requer uma correspondência no nome e na cultura do assembly.

  • Ambas as identidades de assembly referem-se a assemblies executados no .NET Framework. Essa condição retornará true mesmo que os números de versão do assembly não correspondam.

  • Os dois assemblies não são assemblies gerenciados, mas fUnified1 ou fUnified2 foram definidos truecomo .

O fUnified sinalizador indica que todos os números de versão até o número de versão do assembly fortemente nomeado são considerados equivalentes ao assembly fortemente nomeado. Por exemplo, se o valor de pwzAssemblyIdentity1 for "MyAssembly, version=3.0.0.0, culture=neutral, publicKeyToken=....", e o valor de fUnified1 for true, isso indicará que todas as versões do MyAssembly da versão 0.0.0.0 para 3.0.0.0 devem ser tratadas como equivalentes. Nesse caso, se pwzAssemblyIdentity2 se referir ao mesmo assembly pwzAssemblyIdentity1que , exceto que ele tenha um número de versão inferior, pfEquivalent será definido truecomo . Se pwzAssemblyIdentity2 se referir a um número de versão mais alto, pfEquivalent será definido true como somente se o valor de fUnified2 for true.

O pResult parâmetro inclui informações específicas sobre por que os dois assemblies são considerados equivalentes ou não equivalentes. Para obter mais informações, consulte Enumeração AssemblyComparisonResult.

Requisitos

Plataformas: confira Requisitos do sistema.

Cabeçalho: Fusion.h

Biblioteca: incluída como um recurso no MsCorEE.dll

Versões do .NET Framework: disponíveis desde 2.0

Confira também