두 어셈블리 ID를 비교하여 같은지 확인합니다.
STDAPI CompareAssemblyIdentity (
[in] LPCWSTR pwzAssemblyIdentity1,
[in] BOOL fUnified1,
[in] LPCWSTR pwzAssemblyIdentity2,
[in] BOOL fUnified2,
[out] BOOL *pfEquivalent,
[out] AssemblyComparisonResult *pResult
);
매개 변수
pwzAssemblyIdentity1
[in] 비교할 첫 번째 어셈블리의 텍스트 ID입니다.fUnified1
[in] pwzAssemblyIdentity1에 대한 사용자 지정 통합을 나타내는 부울 플래그입니다.pwzAssemblyIdentity2
[in] 비교할 두 번째 어셈블리의 텍스트 ID입니다.fUnified2
[in] pwzAssemblyIdentity2에 대한 사용자 지정 통합을 나타내는 부울 플래그입니다.pfEquivalent
[out] 두 어셈블리가 같은지 여부를 나타내는 부울 플래그입니다.pResult
[out] 상세한 비교 정보가 포함된 AssemblyComparisonResult 열거형입니다.
반환 값
pfEquivalent는 두 어셈블리가 같은지 여부를 나타내는 부울 값을 반환합니다. pResult는 AssemblyComparisonResult 값 중 하나를 반환하므로 이를 통해 pfEquivalent 값에 대한 상세한 이유를 확인할 수 있습니다.
설명
CompareAssemblyIdentity는 pwzAssemblyIdentity1 및 pwzAssemblyIdentity2가 같은지 여부를 확인합니다. pfEquivalent는 다음 조건이 하나 이상 맞을 경우 true로 설정됩니다.
두 어셈블리 ID가 같은 경우. 강력한 이름의 어셈블리일 경우 어셈블리 이름, 버전, 공개 키 토큰 및 문화권이 같아야 동일한 것으로 간주됩니다. 간단한 이름의 어셈블리일 경우 어셈블리 이름 및 문화권이 같으면 동일한 것으로 간주됩니다.
두 어셈블리 ID가 .NET Framework에서 실행되는 어셈블리를 참조합니다. 이 경우에는 어셈블리 버전 번호가 일치하지 않아도 true가 반환됩니다.
두 어셈블리가 관리되는 어셈블리는 아니지만 fUnified1 또는 fUnified2가 true로 설정된 경우
fUnified 플래그는 강력한 이름의 어셈블리 버전 번호를 포함하여 모든 버전 번호를 강력한 이름의 어셈블리와 동일한 것으로 간주함을 나타냅니다. 예를 들어 pwzAssemblyIndentity1의 값이 "MyAssembly, version=3.0.0.0, culture=neutral, publicKeyToken=...."이고 fUnified1의 값이 true이면 0.0.0.0부터 3.0.0.0까지의 모든 MyAssembly 버전이 같은 버전으로 처리됩니다. 이 경우 pwzAssemblyIndentity2가 pwzAssemblyIndentity1과 동일한 어셈블리를 참조하면 하위 버전 번호가 있는 경우를 제외하고 pfEquivalent는 true로 설정됩니다. pwzAssemblyIdentity2가 상위 버전 번호를 참조하면 pfEquivalent는 fUnified2의 값이 true인 경우에만 true로 설정됩니다.
pResult 매개 변수에는 두 어셈블리가 같은 것으로 간주되거나 다른 것으로 간주되는 이유에 대한 설명이 들어 있습니다. 자세한 내용은 AssemblyComparisonResult 열거형을 참조하십시오.
이 함수를 호출하는 것은 CompareAssembyIdentityWithConfig 함수를 호출하고 pAssemblyConfig 매개 변수에 대해 NULL을 전달하는 것과 동일합니다.
요구 사항
플랫폼: .NET Framework 시스템 요구 사항 참조
헤더: Fusion.h
라이브러리: MsCorEE.dll에 리소스로 포함됨
.NET Framework 버전: 4, 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0