Поделиться через


Функция CompareAssemblyIdentity

Сравнивает два удостоверения сборки, чтобы определить, являются ли они эквивалентными.

Синтаксис

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

Параметры

pwzAssemblyIdentity1
[in] Текстовое удостоверение первой сборки в сравнении.

fUnified1
[in] Логический флаг, указывающий на определяемую пользователем унификацию для pwzAssemblyIdentity1.

pwzAssemblyIdentity2
[in] Текстовое удостоверение второй сборки в сравнении.

fUnified2
[in] Логический флаг, указывающий на определяемую пользователем унификацию для pwzAssemblyIdentity2.

pfEquivalent
[out] Логический флаг, указывающий, эквивалентны ли эти две сборки.

pResult
[out] Перечисление AssemblyComparisonResult , содержащее подробные сведения о сравнении.

Возвращаемое значение

pfEquivalent возвращает логическое значение, указывающее, эквивалентны ли эти две сборки. pResult возвращает одно из значений AssemblyComparisonResult , чтобы указать более подробную причину для значения pfEquivalent.

Комментарии

CompareAssemblyIdentity проверяет, эквивалентны ли pwzAssemblyIdentity1 и pwzAssemblyIdentity2 . pfEquivalent для параметра задано значение true в соответствии с одним или несколькими из следующих условий:

  • Два удостоверения сборки эквивалентны. Для сборок со строгими именами эквивалентность требует, чтобы имя сборки, версия, маркер открытого ключа и язык и региональные параметры были идентичными. Для просто именованных сборок эквивалентность требует соответствия имени сборки и языка и региональных параметров.

  • Оба удостоверения сборки относятся к сборкам, которые выполняются на платформа .NET Framework. Это условие возвращается true , даже если номера версий сборки не совпадают.

  • Эти две сборки не являются управляемыми сборками, но fUnified1 для параметра или fUnified2 задано значение true.

Флаг fUnified указывает, что все номера версий вплоть до номера версии сборки со строгим именем считаются эквивалентными сборке со строгим именем. Например, если значение pwzAssemblyIdentity1 параметра — "MyAssembly, version=3.0.0.0, culture=neutral, publicKeyToken=....", а значение fUnified1 равно true, это означает, что все версии MyAssembly от версии 0.0.0.0 до 3.0.0.0.0 должны рассматриваться как эквивалентные. В таком случае, если pwzAssemblyIdentity2 ссылается на ту же сборку pwzAssemblyIdentity1, что и , за исключением того, что она имеет более низкий номер версии, pfEquivalent устанавливается значение true. Если pwzAssemblyIdentity2 ссылается на более высокий номер версии, параметру присваивается true значение только в том случае, pfEquivalent если значение fUnified2 равно true.

Параметр pResult содержит конкретные сведения о том, почему две сборки считаются эквивалентными или не эквивалентными. Дополнительные сведения см. в разделе Перечисление AssemblyComparisonResult.

Требования

Платформы: см. раздел Требования к системе.

Заголовка: Fusion.h

Библиотека: Включается в качестве ресурса в MsCorEE.dll

версии платформа .NET Framework: доступно с версии 2.0.

См. также раздел