Partilhar via


Comparar a FunçãoAssemblyIdentity

Compara duas identidades de assemblagem para determinar se 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 da primeira assemblagem na comparação.

fUnified1
[in] Um sinalizador booleano que indica a unificação especificada pelo utilizador para pwzAssemblyIdentity1.

pwzAssemblyIdentity2
[in] A identidade textual da segunda assemblagem na comparação.

fUnified2
[in] Um sinalizador booleano que indica a unificação especificada pelo utilizador para pwzAssemblyIdentity2.

pfEquivalent
[fora] Um sinalizador booleano que indica se as duas assemblagens são equivalentes.

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

Devolver Valor

pfEquivalent devolve um valor booleano que indica se as duas assemblagens são equivalentes. pResult devolve um dos AssemblyComparisonResult valores, para dar uma razão mais detalhada para o valor de pfEquivalent.

Observações

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

  • As duas identidades de assemblagem são equivalentes. Para assemblagens com nome forte, a equivalência requer que o nome da assemblagem, a versão, o token de chave pública e a cultura sejam idênticos. Para assemblagens simplesmente nomeadas, a equivalência requer uma correspondência no nome e cultura da assemblagem.

  • Ambas as identidades de assemblagem referem-se a assemblagens executadas no .NET Framework. Esta condição devolve true mesmo que os números da versão de assemblagem não correspondam.

  • As duas assemblagens não são assemblagens geridas, mas fUnified1 foram fUnified2 definidas como true.

O fUnified sinalizador indica que todos os números de versão até ao número de versão da assemblagem fortemente nomeada são considerados equivalentes à assemblagem com nome forte. Por exemplo, se o valor de pwzAssemblyIdentity1 for "MyAssembly, version=3.0.0.0, culture=neutral, publicKeyToken=....", e o valor de fUnified1 é true, isto indica que todas as versões do MyAssembly da versão 0.0.0.0.0 a 3.0.0.0 devem ser tratadas como equivalentes. Nesse caso, se se pwzAssemblyIdentity2 referir à mesma assemblagem pwzAssemblyIdentity1que , exceto se tiver um número de versão inferior, pfEquivalent está definido como true. Se pwzAssemblyIdentity2 se referir a um número de versão superior, pfEquivalent está definido como true apenas se o valor de fUnified2 for true.

O pResult parâmetro inclui informações específicas sobre o motivo pelo qual as duas assemblagens são consideradas equivalentes ou não equivalentes. Para obter mais informações, veja AssemblyComparisonResult Enumeration (Enumeração AssemblyComparisonResult).

Requisitos

Plataformas: Veja Requisitos do Sistema.

Cabeçalho: Fusion.h

Biblioteca: Incluído como um recurso no MsCorEE.dll

.NET Framework Versões: Disponível desde 2.0

Ver também