Freigeben über


CompareAssemblyIdentity-Funktion

Aktualisiert: November 2007

Vergleicht zwei Assemblyidentitäten, um zu ermitteln, ob sie äquivalent sind.

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 eine vom Benutzer angegebene Vereinheitlichung für pwzAssemblyIdentity1 angibt.

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

  • fUnified2
    [in] Ein boolesches Flag, das eine vom Benutzer angegebene Vereinheitlichung für pwzAssemblyIdentity2 angibt.

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

  • pResult
    [out] Eine AssemblyComparisonResult-Enumeration, die detaillierte Informationen über den Vergleich enthält.

Rückgabewert

pfEquivalent gibt einen booleschen Wert zurück, der angibt, ob die beiden Assemblys äquivalent sind. pResult gibt einen der AssemblyComparisonResult-Werte zurück, der einen ausführlicheren Grund für den Wert von pfEquivalent angibt.

Hinweise

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

  • Die beiden Assemblyidentitäten sind äquivalent. Bei Assemblys mit starken Namen setzt eine Äquivalenz voraus, dass Assemblyname, Version, öffentliches Schlüsseltoken und Kultur identisch sind. Für Assemblys mit einfachen Namen setzt eine Äquivalenz voraus, dass Assemblyname und Kultur übereinstimmen.

  • Beide Assemblyidentitäten verweisen auf Assemblys, die unter WinFX ausgeführt werden. Diese Bedingung gibt auch dann true zurück, wenn die Assemblyversionsnummern nicht übereinstimmen.

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

Das fUnified-Flag gibt an, dass alle Versionsnummern bis zur Versionsnummer der Assembly mit starken Namen als äquivalent mit der Assembly mit starkem Namen angesehen werden. Wenn beispielsweise der Wert von pwzAssemblyIndentity1 "MyAssembly, version=3.0.0.0, culture=neutral, publicKeyToken=...." ist, und fUnified1 den Wert true hat, bedeutet dies, dass alle Versionen von MyAssembly von Version 0.0.0.0 bis 3.0.0.0 als äquivalent betrachtet werden sollen. Wenn pwzAssemblyIndentity2 in einem solchen Fall mit Ausnahme einer kleineren Versionsnummer auf die gleiche Assembly verweist wie pwzAssemblyIndentity1, wird pfEquivalent auf true festgelegt. Wenn pwzAssemblyIdentity2 auf eine höhere Versionsnummer verweist, wird pfEquivalent nur auf true festgelegt, wenn fUnified2 den Wert true aufweist.

Der pResult-Parameter enthält spezielle Informationen zu den Gründen, warum die beiden Assemblys als äquivalent betrachtet werden. Weitere Informationen finden Sie unter AssemblyComparisonResult.

Anforderungen

Plattformen: siehe Systemanforderungen für .NET Framework.

Header: Fusion.h

Bibliothek: als Ressource in MsCorEE.dll enthalten

.NET Framework-Versionen: 3.5 SP1, 3.5, 3.0 SP1, 3.0, 2.0 SP1, 2.0

Siehe auch

Referenz

AssemblyComparisonResult

Assembly Cache Viewer-Tool (Shfusion.dll)

Weitere Ressourcen

Fusion – Globale statistische Funktionen