Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu başvuru makalesi, paket doğrulaması ve derleme doğrulaması tarafından oluşturulan tüm hata kodlarını listeler.
Hata kodlarının listesi
| Tanılama Kimliği | Description | Önerilen eylem |
|---|---|---|
| PKV001 | Uyumlu bir çerçeve için derleme zamanı varlığı eksik. | Projeye uygun hedef çerçeveyi ekleyin. |
| PKV002 | Uyumlu çerçeve ve çalışma zamanı için bir çalışma zamanı bileşeni eksik. | Pakete ilgili çalışma zamanı için uygun varlığı ekleyin. |
| PKV003 | Uyumlu bir çerçeve için çalışma zamanından bağımsız bir kaynak eksik. | Projeye uygun çalışma zamanı bağımsız hedef çerçevesini ekleyin. |
| PKV004 | Derleme zamanı bileşeni için uyumlu bir çalışma zamanı bileşeni eksik. | Uygun çalışma zamanı bileşenini pakete ekleyin. |
| PKV005 | Derleme zamanı varlığı ve desteklenen çalışma zamanı tanımlayıcısı için uyumlu bir çalışma zamanı varlığı eksik. | Uygun çalışma zamanı bileşenini pakete ekleyin. |
| PKV006 | Hedef çerçeve artık en son sürümde kaldırıldı. | Projeye uygun hedef çerçeveyi ekleyin. |
| PKV007 | Hedef çerçeve ve çalışma zamanı tanımlayıcı çifti en son sürümde bırakılır. | Projeye uygun hedef çerçeveyi ve RID'yi ekleyin. |
| CP0001 | Derleme dışında erişilebilir olan bir tür, enum, kayıt veya yapı, mevcut olması gerektiğinde karşılaştırılan derlemede eksiktir. | Eksik türü eksik olan derlemeye ekleyin. |
| CP0002 | Derlemenin dışında görünen bir üye, mevcut olması gerektiğinde karşılaştırılan derlemede eksiktir. | Eksik üyeyi eksik olduğu derlemeye ekleyin. |
| CP0003 | Derleme kimliğinin (ad, ortak anahtar belirteci, kültür, yeniden güncelleştirilebilir öznitelik veya sürüm) bir bölümü karşılaştırmanın her iki tarafında da eşleşmiyor. | Her iki tarafın da uyumlu olması için derleme kimliğini güncelleyin. |
| CP0004 | Derleme eşlemesi oluşturulurken karşılaştırmanın bir tarafında eşleşen bir derleme bulunamadı. | Eksik derlemenin pakete eklendiğinden emin olun. |
| CP0005 | Mühürsüz bir abstract türle karşılaştırmanın sağ tarafına bir üye eklendi. |
Üyeyi kaldırın veya abstract olarak açıklama eklemeyin. |
| CP0006 | Varsayılan uygulama olmadan bir arabirime üye eklendi. | Hedef çerçeve ve dil sürümü varsayılan uygulamaları destekliyorsa, bir tane ekleyin veya yalnızca üyeyi arabirimden kaldırın. |
| CP0007 | Sınıf hiyerarşisinde bir temel tür, karşılaştırılan taraflardan birinden kaldırıldı. | Temel türü geri ekleyin. (Amaçlanan hiyerarşiye yeni bir temel tür eklenebilir.) |
| CP0008 | Karşılaştırılan taraflardan birinin arabirim hiyerarşisinden bir temel arabirim kaldırıldı. | Arabirimi hiyerarşiye geri ekleyin. |
| CP0009 | Bir tarafı mühürsüz olan bir türe, diğer tarafta karşılaştırıldığında sealed olarak açıklama eklenmiştir. |
Ek açıklamayı sealed türünden kaldırın. |
| CP0010 | Temel alınan sıralı veri tipi bir türden başka bir türe değiştirildi. | Temel alınan türü daha önce olduğu gibi değiştirin. |
| CP0011 | Bir sabit listesi içindeki üyenin değeri bir taraftan diğerine değiştirildi. | Üyenin değerini daha önce olduğu gibi değiştirin. |
| CP0012 |
virtual Veya abstract anahtar sözcüğü, daha önce sanal veya soyut olan bir üyeden kaldırılmıştır. |
Üye daha önce sanalsa anahtar sözcüğünü virtual geri ekleyin. Üye daha önce soyutsa, üyeye virtual veya abstract anahtar sözcüğünü ekleyin. |
| CP0013 | Anahtar virtual sözcük, daha önce sanal olmayan bir üyeye eklendi. |
Üyeden virtual anahtar sözcüğünü kaldırın. |
| CP0014 | Daha önce sahip olduğu bir üyeden bir öznitelik kaldırıldı. | özniteliğini üyeye geri ekleyin. |
| CP0015 | Bir özniteliğe geçirilen bağımsız değişkenler bir taraftan diğerine değiştirildi. | Öznitelik için bağımsız değişkenleri önceki halleriyle değiştirin. |
| CP0016 | Daha önce sahip olmayan bir üyeye öznitelik eklendi. | özniteliğini üyeden kaldırın. |
| CP0017 | Bir yöntemin parametresinin adı bir taraftan diğerine değiştirildi. | Parametrenin adını eski adıyla değiştirin. |
| CP0018 | Anahtar sealed sözcük, daha önce mühürlü olmayan bir arabirim üyesine eklendi. |
sealed Arabirim üyesinden anahtar sözcüğünü kaldırın. |
| CP0019 | Bir üyenin görünürlüğü bir taraftan diğerine azaltıldı. | Üyenin görünürlüğünü daha önce olduğu gibi değiştirin. |
| CP0020 | Bir üyenin görünürlüğü bir taraftan diğerine genişletildi. | Üyenin görünürlüğünü daha önce olduğu gibi değiştirin. |
| CP1001 | Eşleşen bir derleme arama dizinlerinde bulunamadı. (Paket doğrulaması için geçerli değildir, yalnızca API Compat doğrudan kullanılırken geçerlidir.) |
AssemblySymbolLoader kullanarak eşleşen derlemeler yüklenirken arama dizinini sağlayın. |
| CP1002 | Geçerli hedef çerçevenin çözümlenen dizinlerinde karşılaştırmak üzere derlemeler yüklenirken bir başvuru derlemesi bulunamadı. | Şu MSBuild öğesini kullanarak bu derlemenin bulunabileceği dizin yolunu ekleyin: <PackageValidationReferencePath Include="<path>" TargetFramework="<tfm>" />. |
| CP1003 | Paket doğrulamasının API Compat çalıştırıldığı hedef çerçeve adı için hiçbir arama dizini sağlanmadı. | Aşağıdaki MSBuild öğesini kullanarak bu hedef çerçevenin başvurularını bulmak için arama dizinini belirtin: <PackageValidationReferencePath Include="<path>" TargetFramework="<tfm>" />. |
Bastırmak Nasıl Yapılır?
Tek tek tanılama kimliklerini aşağıdaki yollardan biriyle gizleyebilirsiniz:
- Bir gizleme dosyası aracılığıyla.
-
Derleyici bayrağı aracılığıyla
NoWarn.
Gizleme dosyası
Kasıtlı değişikliklerde uyumluluk hatalarını engellemek için projenize birCompatibilitySuppressions.xml dosyası ekleyin. Paket doğrulama ve derleme doğrulaması aynı gizleme dosyası biçimini kullanır.
Bu dosyayı iki yoldan biriyle otomatik olarak oluşturabilirsiniz:
- Komut satırından projeyi paketlerken,
/p:GenerateCompatibilitySuppressionFile=truegeçirerek bunu yapabilirsiniz. - Proje dosyanıza aşağıdaki özelliği ekleyerek:
<GenerateCompatibilitySuppressionFile>true</GenerateCompatibilitySuppressionFile>.
Gizleme dosyası şöyle görünür.
<?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, gizlenecek hatanın kimliğini belirtir. -
Target, tanılama kimliklerini engellemek için kodun neresinde olduğunu belirtir. -
LeftAPICompat karşılaştırmasının sol işlenicisini belirtir. -
RightAPICompat karşılaştırmasının sağ operandını belirtir. -
IsBaselineSuppression, gizlemenin bir temel doğrulamaya () uygulanıp uygulanmayacağını (truefalse) belirtir.
NoWarn derleyici seçeneği
Ayrıca, bireysel teşhis kimliklerini derleyici bayrağı aracılığıyla, paket bazında veya genel olarak gizleyebilirsiniz.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
...
<!-- The following NoWarn suppresses PKV001 project-wide -->
<NoWarn>$(NoWarn);PKV001</NoWarn>
</PropertyGroup>
</Project>