Dela via


Funktionen CompareAssemblyIdentity

Jämför två sammansättningsidentiteter för att avgöra om de är likvärdiga.

Syntax

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

Parametrar

pwzAssemblyIdentity1
[i] Den första sammansättningens textidentitet i jämförelsen.

fUnified1
[i] En boolesk flagga som anger användardefinerad enande för pwzAssemblyIdentity1.

pwzAssemblyIdentity2
[i] Den andra sammansättningens textidentitet i jämförelsen.

fUnified2
[i] En boolesk flagga som anger användardefinerad enande för pwzAssemblyIdentity2.

pfEquivalent
[ut] En boolesk flagga som anger om de två sammansättningarna är likvärdiga.

pResult
[ut] En AssemblyComparisonResult-uppräkning som innehåller detaljerad information om jämförelsen.

Returvärde

pfEquivalent returnerar ett booleskt värde som anger om de två sammansättningarna är likvärdiga. pResult returnerar ett av AssemblyComparisonResult värdena för att ge en mer detaljerad orsak till värdet för pfEquivalent.

Kommentarer

CompareAssemblyIdentity kontrollerar om pwzAssemblyIdentity1 och pwzAssemblyIdentity2 är likvärdiga. pfEquivalent anges till true under ett eller flera av följande villkor:

  • De två sammansättningsidentiteterna är likvärdiga. För starkt namngivna sammansättningar kräver likvärdighet att sammansättningsnamnet, versionen, token för offentliga nycklar och kulturen är identiska. För helt enkelt namngivna sammansättningar kräver ekvivalens en matchning i sammansättningsnamnet och kulturen.

  • Båda sammansättningsidentiteterna refererar till sammansättningar som körs på .NET Framework. Det här villkoret returnerar true även om sammansättningsversionsnumren inte matchar.

  • De två sammansättningarna är inte hanterade sammansättningar, utan fUnified1 eller fUnified2 har angetts till true.

Flaggan fUnified anger att alla versionsnummer upp till versionsnumret för den starkt namngivna sammansättningen anses motsvara den starkt namngivna sammansättningen. Om värdet pwzAssemblyIdentity1 för till exempel är "MyAssembly, version=3.0.0.0, culture=neutral, publicKeyToken=...." och värdet fUnified1 för är true, anger detta att alla versioner av MyAssembly från version 0.0.0.0 till 3.0.0.0 ska behandlas som likvärdiga. I sådana fall, om pwzAssemblyIdentity2 refererar till samma sammansättning som pwzAssemblyIdentity1, förutom att den har ett lägre versionsnummer, pfEquivalent är inställd på true. Om pwzAssemblyIdentity2 refererar till ett högre versionsnummer pfEquivalent anges endast till true om värdet fUnified2 för är true.

Parametern pResult innehåller specifik information om varför de två sammansättningarna anses vara likvärdiga eller inte likvärdiga. Mer information finns i AssemblyComparisonResult Enumeration.

Krav

Plattformar: Se Systemkrav.

Huvudet: Fusion.h

Bibliotek: Ingår som en resurs i MsCorEE.dll

.NET Framework versioner: Tillgänglig sedan 2.0

Se även