İzlenecek yol: Kod Kusurları için Yönetilen Kodu Analiz Etme
Bu izlenecek yolda, yönetilen bir proje kodu kusurları için kod çözümleme aracını kullanarak çözümlersiniz.
Bu izlenecek yol, Microsoft .Net Framework Tasarım Yönergeleri ile uyumluluk için .Net yönetilen kod derlemenizi analiz etmek için kod analizi kullanma işlemine adım atmanızı sağlayacaktır.
Bu izlenecek yolda, siz:
- Analiz edin ve kod hata uyarılarını düzeltin.
Önkoşullar
- Visual Studio Premium.
Bir sınıf kitaplığı oluşturun.
Bir sınıf kitaplığı oluşturmak için |
|
Projeyi çözümle
Kod kusurları için yönetilen bir proje çözümlemek için
Çözüm Gezgini'nde, CodeAnalysisManagedDemo projesini seçin.
Proje menüsündeki Özellikler’i tıklayın.
CodeAnalysisManagedDemo özellikler sayfası görüntülenir.
KodAnalysis'ne tıklatın.
EtkinleştirDerleme üzerinde Kod Çözümleme (CODE_ANALYSIS sabiti tanımlar) seçili olduğundan emin olun.
Bu kural kümesini çalıştır aşağı açılan listesinden, Microsoft Tüm Kurallar'i seçin.
Dosya menüsünde Seçili Öğeleri Kaydet'i tıklatın ve daha sonra ManagedDemo özellikleri sayfalarını kapatın.
Derle/Build menüsünde, Çözümü Derle'yi tıklatın.
CodeAnalysisManagedDemo projesi yapı uyarıları Kod Çözümleme ve Çıkış pencereleri içinde raporlanır.
Eğer Kod Çözümleme penceresi görüntülenmezse, Çözümle menüsünden, Pencereler ve daha sonra Kod Analiz'i seç'i seçin.
Kod Çözümleme Sorunlarını Gidermek
Kod çözümleme kural ihlallerini düzeltmek için
Üzerinde Görünüm menüsünde, Hata Listesi'ni tıklayın.
Seçtiğiniz geliştirici profiline bağlı olarak, işaret olabilir, belki de Diğer Pencereler 'e işaret etmek sorunda olabilirsiniz, Görünüm menüsü üzerindeki ve daha sonra Hata Listesi'ne tıklayın.
Çözüm Gezgini'nde Tüm Dosyaları Göster'e tıklayın.
Daha sonra Özellikler düğümünü genişletin ve sonra AssemblyInfo.cs dosyasını açın.
Uyarılar düzeltmek için aşağıdaki tabloyu kullanın:
Uyarılar |
Uyarı düzeltmek için |
---|---|
CA1014: Derlemeleri CLSCompliantAttribute ile işaretleme: Microsoft.Design: 'demo' CLSCompliantAttribute ile işaretlenmiş ve değeri true olmalıdır. |
|
CA1032: Standart özel durum oluşturucuları uygulayın: Microsoft.Design: Bu sınıfa aşağıdaki kurucuyu ekleyin: public demo(String) |
|
CA1032: Standart özel durum oluşturucuları uygulayın: Microsoft.Design: Bu sınıfa aşağıdaki kurucuyu ekleyin: public demo(String, Exception) |
|
CA1032: Standart özel durum oluşturucuları uygulayın: Microsoft.Design: Bu sınıfa aşağıdaki kurucusu ekleyin: protected demo (SerializationInfo, StreamingContext) |
|
CA1032: Standart özel durum oluşturucuları uygulayın: Microsoft.Design: Bu sınıfa aşağıdaki kurucuyu ekleyin: public demo() |
|
CA1709: Tanımlayıcıların büyük/küçük harfleri doğru yazılmalıdır: Microsoft.Naming: Ad alanı adının 'testCode' isim halini, 'TestCode' yaparak düzeltin. |
|
CA1709: Tanımlayıcıların büyük/küçük harfleri doğru yazılmalıdır: Microsoft.Naming: Tür adının 'demo' isim halini 'Demo' diye değiştirerek düzeltin. |
|
CA1709: Tanımlayıcıların büyük/küçük harfleri doğru yazılmalıdır: Microsoft.Naming: Üye adının 'item' isim halini 'Item' olarak düzeltin. |
|
CA1710: Tanımlayıcıların sonekleri doğru olmalıdır: Microsoft.Naming: 'testCode.demo' adını 'Exception' içinde yeniden adlandırın. |
|
CA2210: Derlemelerin tanımlayıcı adı geçerli olmalıdır: Bir tanımlayıcı ad anahtarı ile 'ManagedDemo' imzalayın. |
|
CA2237: ISerializable türleri SerializableAttribute ile işaretleyin: Microsoft.Usage: Bu tür ISerializable uygulayan 'demo' türü için bir [Serializable] özniteliğini ekleyin. |
|
Değişiklikleri tamamladıktan sonra Class1.cs dosyası aşağıdaki gibi görünmelidir:
//CodeAnalysisManagedDemo
//Class1.cs
using System;
using System.Runtime.Serialization;
namespace TestCode
{
[Serializable()]
public class DemoException : Exception
{
public DemoException () : base() { }
public DemoException(String s) : base(s) { }
public DemoException(String s, Exception e) : base(s, e) { }
protected DemoException(SerializationInfo info, StreamingContext context) : base(info, context) { }
public static void Initialize(int size) { }
protected static readonly int _item;
public static int Item { get { return _item; } }
}
}
Kod Çözümleme Uyarılarını Çıkar
Kod hata uyarılarını çıkarmak için
Her kalan uyarı için aşağıdakileri yapın:
Bu Kod Analizi penceresinde, uyarıyı seçin.
Eylemler'i seçin, sonra İletiyi Gizle'yi seçin ve sonra Proje İçinde Dosya Gizleme'yi seçin.
Daha fazla bilgi için bkz. Nasıl yapılır: Menü Öğesini Kullanarak Uyarıları Bastırma
Projeyi yeniden derleyin.
Proje, herhangi bir uyarı veya hata olmadan oluşur.