Megosztás a következőn keresztül:


API-kompatibilitási eszközök

A platformfüggetlen kompatibilitás a .NET-kódtár-szerzők alapvető követelményévé vált. A szerelvények és csomagok ellenőrzésére szolgáló eszközök nélkül azonban előfordulhat, hogy nem szándékos törési változásokat tartalmaznak. Könyvtárszerzőként gondoskodnia kell arról, hogy a több célzott szerelvények kompatibilisek legyenek. A .NET 6 és a .NET Standard 2.0 számára több célokat tartalmazó csomagok esetében például meg kell győződnie arról, hogy a .NET Standard 2.0 binárisra lefordított kód futtatható a .NET 6 binárissal.

Úgy gondolhatja, hogy a módosítás biztonságos és kompatibilis, ha a módosítást használó forrás továbbra is módosítások nélkül fordítja le a módosításokat. A módosítások azonban futásidőben továbbra is problémákat okozhatnak, ha a fogyasztó nem lett újrafordítve. Ha például hozzáad egy opcionális paramétert egy metódushoz, vagy egy állandó értékét módosítja, az ilyen típusú kompatibilitási problémákat okozhat.

A .NET SDK különböző módszereket kínál a különböző cél-keretrendszerekhez készült verziók összehasonlítására. Egy újabb verziót is érvényesíthet az alapverzióval, hogy ne vezessen be kompatibilitástörő módosításokat. Engedélyezze az MSBuild-feladatok számára, hogy fordításkor vagy a csomagok csomagolásakor érvényesíthessék a szerelvényeket. Vagy használja a Microsoft.DotNet.ApiCompat.Tool globális eszközt az MSBuilden kívüli ellenőrzéshez.

A csomagérvényesítéssel kapcsolatos további információkért lásd : Csomagérvényesítés. A szerelvény-ellenőrzést akkor kell használni, ha az alkalmazás nem csomagolható. A szerelvény-ellenőrzéssel kapcsolatos további információkért lásd: Szerelvény-ellenőrzés.

Feljegyzés

Ha MSBuild feladatként szeretné futtatni a szerelvényérvényesítést, hozzá kell adnia egy csomaghivatkozást a Microsoft.DotNet.ApiCompat.Task fájlhoz. Hasonlóképpen hozzáadhat egy hivatkozást ehhez a csomaghoz, ha olyan újabb funkciókat szeretne tesztelni, amelyek még nem érhetők el a .NET SDK-ban. Hivatkozhat például a Microsoft.DotNet.ApiCompat.Task csomag 9.0.100-es előzetes verziójára a .NET 8 SDK használata közben.

Szigorú mód

Alapértelmezés szerint az ellenőrzés kompatibilitási ellenőrzéseket végez. Azonban a szigorú módot is választhatja. Szigorú módban az ellenőrzés egyenlőségi ellenőrzéseket végez. Az egyenlőség azt jelenti, hogy nem történt API-kiegészítés vagy szerelvénymódosítás, még a kompatibilisek sem.

A szigorú üzemmód használati esetei a következők:

  • Karbantartás, amelyben az API-kiegészítések általában tiltottak.
  • API-módosítások nyomon követéséhez. Ha az ApiCompatGenerateSuppressionFile értéket az ApiCompatGenerateSuppressionFile értékre állítja, az API kompatibilitási funkciója rögzíti a letiltási fájl összes kompatibilitási különbségéttrue.

A parancssori eszköz szigorú módjának engedélyezéséhez adja meg a --strict-mode beállítást vagy a --enable-strict* beállítások egyikét. Az MSBuild-tevékenységek szigorú módjának engedélyezéséhez adjon hozzá egy vagy több MSBuild tulajdonságot a projektfájlhoz: