Aracılığıyla paylaş


Eski analizden (FxCop) kaynak analizine (.NET çözümleyicileri) geçiş

.NET Derleyici Platformu ("Roslyn") çözümleyicileri tarafından yapılan kaynak analizi, yönetilen kod için eski çözümlemenin yerini alır. .NET Core ve .NET Standard projeleri gibi daha yeni proje şablonları için eski analiz kullanılamaz.

Roslyn kod çözümleyicileri kümesi olan .NET çözümleyicileri için eski analiz (FxCop) kurallarının çoğu zaten yeniden yazılmıştır. Roslyn çözümleyicileri, derleyici yürütmesi sırasında kaynak kodu tabanlı analiz çalıştırır. Çözümleyici sonuçları, derleyici sonuçlarıyla birlikte bildirilir.

Eski analiz ile kaynak analizi arasındaki farklar hakkında daha fazla bilgi için aşağıdakilere bakın:

Geçiş

Kaynak analizine geçmek için:

  1. .NET çözümleyicilerini etkinleştirin veya yükleyin. Eski çözümleme kuralı ihlalleri gibi, kaynak kodu çözümleme ihlalleri de Visual Studio'nun Hata Listesi penceresinde görünür. Buna ek olarak, kaynak kodu çözümleme ihlalleri de kod düzenleyicisinde sorunlu kodun altında dalgalı çizgiler olarak gösterilir. Dalgalı çizginin rengi, kuralın önem derecesi ayarına bağlıdır. Yeni .NET çözümleyicilerine taşınabilir kuralların durumunu görmek için bkz . Taşımalı ve raporlanmayan kurallar.

    Dekont

    Visual Studio 2019 16.8 ve .NET 5.0'dan önce bu çözümleyiciler NuGet paketi olarak Microsoft.CodeAnalysis.FxCopAnalyzersgönderildi. Visual Studio 2019 16.8 ve .NET 5.0'dan başlayarak, bu çözümleyiciler .NET SDK'sı ile birlikte sunulur. NuGet paketi olarak Microsoft.CodeAnalysis.NetAnalyzersda kullanılabilirler. Daha fazla bilgi için bkz . FxCop çözümleyicilerinden .NET çözümleyicilerine geçiş.

  2. CA0507'yi çözümlemek için eski kod çözümlemesinin proje için devre dışı bırakıldığından emin olun. Proje dosyasında özelliğini false olarak ayarlayın RunCodeAnalysis :

    <RunCodeAnalysis>false</RunCodeAnalysis>

    Alternatif olarak, Proje Özellikleri>Kod Analizi'ni açın ve Derlemedeçalıştır ayarını devre dışı bırakın.

Yapılandırma

.NET çözümleyicilerini yapılandırma hakkında daha fazla bilgi edinmek için:

  • .NET çözümleyicilerini yapılandırmak için bkz . .NET çözümleyicilerini yapılandırma.

  • EditorConfig veya kural kümesi dosyasıyla önceden tanımlanmış kuralları kullanarak çözümleyicileri yapılandırma hakkında bilgi edinmek için bkz . Kural kategorisi etkinleştirme.