Freigeben über


CompareAssemblyIdentity-Funktion

Vergleicht zwei Assemblyidentitäten, um festzustellen, ob sie gleichwertig sind.

Syntax

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

Parameter

pwzAssemblyIdentity1
[in] Die Textidentität der ersten Assembly im Vergleich.

fUnified1
[in] Ein boolesches Flag, das die vom Benutzer angegebene Vereinheitlichung für pwzAssemblyIdentity1 anzeigt.

pwzAssemblyIdentity2
[in] Die Textidentität der zweiten Assembly im Vergleich.

fUnified2
[in] Ein boolesches Flag, das die vom Benutzer angegebene Vereinheitlichung für pwzAssemblyIdentity2 anzeigt.

pfEquivalent
[out] Ein boolesches Flag, das angibt, ob die beiden Assemblys gleichwertig sind.

pResult
[out] Eine AssemblyComparisonResult-Enumeration, die detaillierte Informationen zum Vergleich enthält.

Rückgabewert

pfEquivalent gibt einen booleschen Wert zurück, der angibt, ob die beiden Assemblys gleichwertig sind. pResult gibt einen der AssemblyComparisonResult-Werte zurück, um eine genauere Begründung für den Wert von pfEquivalent zu geben.

Bemerkungen

CompareAssemblyIdentity überprüft, ob pwzAssemblyIdentity1 und pwzAssemblyIdentity2 gleichwertig sind. pfEquivalent wird unter einer oder mehreren der folgenden Bedingungen auf true festgelegt:

  • Die beiden Assemblyidentitäten sind gleichwertig. Bei stark benannten Assemblys müssen der Assemblyname, die Version, das öffentliche Schlüsseltoken und die Kultur identisch sein. Bei einfach benannten Assemblys erfordert die Gleichwertigkeit eine Übereinstimmung von Assemblyname und Kultur.

  • Beide Assemblyidentitäten beziehen sich auf Assemblys, die mit dem .NET Framework ausgeführt werden. Diese Bedingung gibt true zurück, auch wenn die Versionsnummern der Assemblys nicht übereinstimmen.

  • Die beiden Assemblys sind keine verwalteten Assemblys, aber fUnified1 oder fUnified2 wurde auf true festgelegt.

Das Flag fUnified zeigt an, dass alle Versionsnummern bis zur Versionsnummer der Assembly mit starkem Namen als gleichwertig zur Assembly mit starkem Namen betrachtet werden. Wenn z. B. der Wert von pwzAssemblyIdentity1 „MyAssembly, version=3.0.0.0, culture=neutral, publicKeyToken=....“ und der Wert von fUnified1 entsprechend true lautet, bedeutet dies, dass alle Versionen von „MyAssembly“ von Version 0.0.0.0 bis 3.0.0.0 als gleichwertig behandelt werden sollten. Wenn in einem solchen Fall pwzAssemblyIdentity2 auf dieselbe Assembly wie pwzAssemblyIdentity1 verweist, nur dass sie eine niedrigere Versionsnummer aufweist, wird pfEquivalent auf true festgelegt. Wenn pwzAssemblyIdentity2 auf eine höhere Versionsnummer verweist, wird pfEquivalent nur dann auf true festgelegt, wenn der Wert von fUnified2 entsprechend true ist.

Der Parameter pResult enthält spezifische Informationen darüber, warum die beiden Assemblys als gleichwertig oder nicht gleichwertig angesehen werden. Weitere Informationen finden Sie unter AssemblyComparisonResult-Enumeration.

Anforderungen

Plattformen: Informationen finden Sie unter Systemanforderungen.

Header: Fusion.h

Bibliothek: Als Ressource in „MsCorEE.dll“ enthalten

.NET Framework-Versionen: Seit 2.0 verfügbar.

Siehe auch