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 makale, .NET uygulamanızı oluştururken kod analizi uyarılarını engellemenin çeşitli yollarını kapsar. Burada sağlanan bilgileri kullanarak kod kalitesi kurallarını, kod stili kurallarını ve üçüncü taraf çözümleyici kurallarını gizleyebilirsiniz.
Tavsiye
Geliştirme ortamınız olarak Visual Studio kullanıyorsanız ampul menüsü, sizin için uyarıları engellemek için kodu oluşturan seçenekler sağlar. Daha fazla bilgi için bkz . İhlalleri engelleme.
Kuralı devre dışı bırakma
Bir EditorConfig veya AnalyzerConfig none önem derecesini olarak ayarlayarak uyarıya neden olan bir kuralı devre dışı bırakabilirsiniz. Bu eylem, kullandığınız yapılandırma dosyasının kapsamına bağlı olarak tüm dosya veya projenizin kuralını devre dışı bırakır.
[*.{cs,vb}]
dotnet_diagnostic.<rule-ID>.severity = none
Kural önem dereceleri hakkında daha fazla bilgi için bkz. Kural önem derecesini yapılandırma.
Ön işlemci yönergesi kullanma
Uyarıyı yalnızca belirli bir kod satırı için bastırmak için bir #pragma uyarısı (C#) veya Disable (Visual Basic) yönergesi kullanın.
try { ... }
catch (Exception e)
{
#pragma warning disable CA2200 // Rethrow to preserve stack details
throw e;
#pragma warning restore CA2200 // Rethrow to preserve stack details
}
Try
...
Catch e As Exception
#Disable Warning CA2200 ' Rethrow to preserve stack details
Throw e
#Enable Warning CA2200 ' Rethrow to preserve stack details
End Try
SuppressMessageAttribute kullanma
Bir uyarıyı kaynak dosyada veya projenin genel gizleme dosyasında (SuppressMessageAttribute veya GlobalSuppressions.vb) bastırmak için kullanabilirsiniz. Bu öznitelik, projenizin veya dosyanızın yalnızca belirli bölümlerindeki bir uyarıyı gizlemenin bir yolunu sağlar.
Özniteliği için SuppressMessageAttribute gerekli olan iki konumsal parametre, kuralın kategorisi ve kural kimliğidir. Aşağıdaki kod parçacığı bu parametreler için "Usage" ve "CA2200:Rethrow to preserve stack details" değerlerini iletir.
[System.Diagnostics.CodeAnalysis.SuppressMessage("Usage", "CA2200:Rethrow to preserve stack details", Justification = "Not production code.")]
private static void IgnorableCharacters()
{
try
{
...
}
catch (Exception e)
{
throw e;
}
}
Özniteliğini genel gizlemeler dosyasına eklerseniz, gizlemeyi istenen düzeye (örneğin) "member". Özelliğini kullanarak uyarının gizlenmesi gereken API'yi Target belirtirsiniz.
[assembly: SuppressMessage("Usage", "CA2200:Rethrow to preserve stack details", Justification = "Not production code.", Scope = "member", Target = "~M:MyApp.Program.IgnorableCharacters")]
API'ye referans vermek istediğinizde, öznitelikte Target kullanın. Belge kimlikleri hakkında bilgi için bkz. Belge Kimliği biçimi.
Derleyici tarafından oluşturulan ve açıkça sağlanan kullanıcı kaynağıyla eşleşmeyen kod uyarılarını engellemek için, gizleme özniteliğini genel gizleme dosyasına yerleştirmeniz gerekir. Örneğin, aşağıdaki kod derleyici tarafından yayılan bir oluşturucuya karşı bir ihlali engeller:
[module: SuppressMessage("Design", "CA1055:AbstractTypesDoNotHavePublicConstructors", Scope="member", Target="MyTools.Type..ctor()")]