Csomag/szerelvény érvényesítési hibakódjai
Ez a referenciacikk felsorolja a csomagellenőrzés és a szerelvény ellenőrzése által létrehozott összes hibakódot.
Hibakódok listája
Diagnosztikai azonosító | Leírás | Javasolt művelet |
---|---|---|
PKV001 | Hiányzik egy kompatibilis keretrendszer fordítási időegysége. | Adja hozzá a megfelelő célkeretet a projekthez. |
PKV002 | Hiányzik egy kompatibilis keretrendszer és futtatókörnyezet futásidejű objektuma. | Adja hozzá a megfelelő objektumot a megfelelő futtatókörnyezethez a csomaghoz. |
PKV003 | Hiányzik egy futásidejű független eszköz egy kompatibilis keretrendszerhez. | Adja hozzá a megfelelő futásidejű független cél keretrendszert a projekthez. |
PKV004 | Hiányzik egy kompatibilis futásidejű objektum egy fordítási idejű objektumhoz. | Adja hozzá a megfelelő futásidejű objektumot a csomaghoz. |
PKV005 | Hiányzik egy kompatibilis futásidejű objektum egy fordítási idejű objektumhoz és egy támogatott futtatókörnyezet-azonosítóhoz. | Adja hozzá a megfelelő futásidejű objektumot a csomaghoz. |
PKV006 | A cél keretrendszer a legújabb verzióban lesz elvetve. | Adja hozzá a megfelelő célkeretet a projekthez. |
PKV007 | A cél-keretrendszer és a futtatókörnyezet azonosítópárja a legújabb verzióban lesz elvetve. | Adja hozzá a megfelelő cél keretrendszert és a RID-t a projekthez. |
CP0001 | A szerelvényen kívül látható típus, enumerálás, rekord vagy szerkezet hiányzik az összehasonlított szerelvényből, ha szükség van rá. | Adja hozzá a hiányzó típust a hiányzó szerelvényhez. |
CP0002 | A szerelvényen kívül látható tag hiányzik az összehasonlított szerelvényből, ha jelen kell lennie. | Adja hozzá a hiányzó tagot ahhoz a szerelvényhez, ahol hiányzik. |
CP0003 | A szerelvényidentitás egy része (név, nyilvános kulcs jogkivonata, kultúra, újratargethető attribútum vagy verzió) nem egyezik az összehasonlítás mindkét oldalán. | Frissítse a szerelvény identitását, hogy mindkét oldal egyezzen. |
CP0004 | Az szerelvény-leképezés létrehozásakor nem található egyező szerelvény az összehasonlítás egyik oldalán. | Győződjön meg arról, hogy a hiányzó szerelvény hozzá van adva a csomaghoz. |
CP0005 | A abstract rendszer hozzáad egy tagot az összehasonlítás jobb oldalához egy el nem igazított típushoz. |
Távolítsa el a tagot, vagy ne jegyzetelje a következőként abstract : . |
CP0006 | Egy tag alapértelmezett implementáció nélkül lett hozzáadva egy felülethez. | Ha a cél keretrendszer és a nyelvi verzió támogatja az alapértelmezett implementációkat, vegyen fel egyet, vagy egyszerűen távolítsa el a tagot a felületről. |
CP0007 | Az osztályhierarchia egyik alaptípusa el lett távolítva az egyik összehasonlított oldalról. | Adja vissza az alaptípust. (Ha ez a cél, új alaptípust is bevezethet a hierarchiában.) |
CP0008 | Egy alapillesztő el lett távolítva az illesztőhierarchiából az egyik összehasonlított oldalról. | Adja hozzá a felületet a hierarchiához. |
CP0009 | Egy olyan típust, amely az egyik oldalon el nem lett vetve, úgy lett széljegyzetekkel eljegyzve, mint sealed a másik összehasonlító oldalon. |
Távolítsa el a sealed széljegyzetet a típusból. |
CP0010 | Az enum alapjául szolgáló típus egyik oldalról a másikra módosult. | Módosítsa a mögöttes típust a korábbi típusra. |
CP0011 | Az enumerálásban szereplő tagok értéke egyik oldalról a másikra módosult. | Módosítsa a tag értékét a korábbi értékre. |
CP0012 | A virtual kulcsszó el lett távolítva egy korábban virtuális tagból. |
Adja hozzá a virtual kulcsszót a taghoz. |
CP0013 | A virtual kulcsszó olyan taghoz lett hozzáadva, amely korábban nem volt virtuális. |
Távolítsa el a kulcsszót virtual a tagból. |
CP0014 | Egy attribútum el lett távolítva egy olyan tagból, amely korábban rendelkezik vele. | Adja vissza az attribútumot a taghoz. |
CP0015 | Az attribútumnak átadott argumentumok egyik oldalról a másikra módosultak. | Módosítsa az argumentumokat az attribútumra a korábbiakhoz. |
CP0016 | Olyan taghoz lett hozzáadva egy attribútum, amely korábban nem rendelkezett vele. | Távolítsa el az attribútumot a tagból. |
CP0017 | A metódus paraméterének neve egyik oldalról a másikra módosult. | Módosítsa a paraméter nevét a korábban használtra. |
CP0018 | A sealed kulcsszó egy korábban nem lezárt felülettaghoz lett hozzáadva. |
Távolítsa el a kulcsszót sealed a felülettagból. |
CP0019 | A tagok láthatósága egyik oldalról a másikra csökkent. | Módosítsa a tag láthatóságát a korábbiakhoz. |
CP0020 | A tagok láthatósága az egyik oldalról a másikra bővült. | Módosítsa a tag láthatóságát a korábbiakhoz. |
CP1001 | Nem található egyező szerelvény a keresési könyvtárakban. (Nem alkalmazható csomagérvényesítésre, csak az API Compat közvetlen használatakor.) | Adja meg a keresési könyvtárat az egyező szerelvények betöltésekor a következő használatával AssemblySymbolLoader : . |
CP1002 | A rendszer nem talált referenciaszerelvényt az aktuális célkeret feloldott könyvtáraiban összehasonlítandó szerelvények betöltésekor. | Adja meg azt a könyvtár elérési útját, ahol a szerelvény a következő MSBuild elem használatával található: <PackageValidationReferencePath Include="<path>" TargetFramework="<tfm>" /> . |
CP1003 | Nem volt megadva keresési könyvtár a cél-keretrendszer monikeréhez, amely esetében a csomagérvényesítés API Compat-et futtat. | Adja meg a keresési könyvtárat a cél-keretrendszerre mutató hivatkozások kereséséhez a következő MSBuild elem használatával: <PackageValidationReferencePath Include="<path>" TargetFramework="<tfm>" /> . |
Letiltás
Az egyes diagnosztikai azonosítókat az alábbi módokon tilthatja le:
- Egy elnyomási fájlon keresztül.
NoWarn
A fordítójelzőn keresztül.
Letiltási fájl
Ha el szeretné tiltani a szándékos módosítások kompatibilitási hibáit, adjon hozzá egy CompatibilitySuppressions.xml fájlt a projekthez. A csomagérvényesítés és a szerelvény ellenőrzése ugyanazt a tiltó fájlformátumot használja.
Ezt a fájlt kétféleképpen hozhatja létre automatikusan:
- Ha a projektet a parancssorból csomagolja, adja át
/p:GenerateCompatibilitySuppressionFile=true
. - Ha hozzáadja a következő tulajdonságot a projektfájlhoz:
<GenerateCompatibilitySuppressionFile>true</GenerateCompatibilitySuppressionFile>
.
A letiltási fájl így néz ki.
<?xml version="1.0" encoding="utf-8"?>
<Suppressions xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Suppression>
<DiagnosticId>CP0002</DiagnosticId>
<Target>M:A.B.DoStringManipulation(System.String)</Target>
<Left>lib/netstandard2.0/A.dll</Left>
<Right>lib/net6.0/A.dll</Right>
<IsBaselineSuppression>false</IsBaselineSuppression>
</Suppression>
</Suppressions>
DiagnosticId
a letiltandó hiba azonosítóját adja meg.Target
megadja, hogy a kódban hol tiltsa le a diagnosztikai azonosítókat.Left
az APICompat-összehasonlítás bal operandusát adja meg.Right
az APICompat-összehasonlítás megfelelő operandusát adja meg.IsBaselineSuppression
meghatározza, hogy a letiltást alkalmazza-e egy alapkonfiguráció-ellenőrzésre (true
) vagy sem (false
).
NoWarn-fordító lehetőség
Az egyes diagnosztikai azonosítókat a NoWarn
fordítójelölőn keresztül is letilthatja csomagonként vagy globálisan.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
...
<!-- The following NoWarn suppresses PKV001 project-wide -->
<NoWarn>$(NoWarn);PKV001</NoWarn>
</PropertyGroup>
</Project>