Aracılığıyla paylaş


İ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

  1. Visual Studio Dosya menüsünde, Yeni 'yi ve sonra da Proje'yi tıklatın.

  2. Yeni Proje iletişim kutusu içinde, Proje Türleri'nin altında Visual C#'a tıklatın.

  3. Şablonlar'ın altında, Sınıf Kitaplığı'nı seçin.

  4. İsim kutusuna, CodeAnalysisManagedDemo yazın ve Tamam'ı tıklatın.

  5. Proje oluşturulduktan sonra Class1.cs dosyası açın.

  6. Class1.cs'de varolan metni aşağıdaki kodla değiştirin:

    //CodeAnalysisManagedDemo
    //Class1.cs
    using System;
    namespace testCode
    {
        
        public class demo : Exception
        {
            
            public static void Initialize(int size) { }
            protected static readonly int _item;
            public static int item { get { return _item; } }
        }
    }
  7. Class1.cs dosyasını kaydedin.

Projeyi çözümle

Kod kusurları için yönetilen bir proje çözümlemek için

  1. Çözüm Gezgini'nde, CodeAnalysisManagedDemo projesini seçin.

  2. Proje menüsündeki Özellikler’i tıklayın.

    CodeAnalysisManagedDemo özellikler sayfası görüntülenir.

  3. KodAnalysis'ne tıklatın.

  4. EtkinleştirDerleme üzerinde Kod Çözümleme (CODE_ANALYSIS sabiti tanımlar) seçili olduğundan emin olun.

  5. Bu kural kümesini çalıştır aşağı açılan listesinden, Microsoft Tüm Kurallar'i seçin.

  6. Dosya menüsünde Seçili Öğeleri Kaydet'i tıklatın ve daha sonra ManagedDemo özellikleri sayfalarını kapatın.

  7. 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

  1. Ü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.

  2. Çözüm Gezgini'nde Tüm Dosyaları Göster'e tıklayın.

  3. Daha sonra Özellikler düğümünü genişletin ve sonra AssemblyInfo.cs dosyasını açın.

  4. 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.

  1. Kodu usingSystem; AssemblyInfo.cs dosyasına ekleyin.

  2. Daha sonra kodu [assembly: CLSCompliant(true)] AssemblyInfo.cs dosyasının sonuna ekleyin.

  3. Projeyi yeniden derleyin.

CA1032: Standart özel durum oluşturucuları uygulayın: Microsoft.Design: Bu sınıfa aşağıdaki kurucuyu ekleyin: public demo(String)

  • Oluşturucuyu public demo (String s) : base(s) { }demo sınıfına ekleyin.

CA1032: Standart özel durum oluşturucuları uygulayın: Microsoft.Design: Bu sınıfa aşağıdaki kurucuyu ekleyin: public demo(String, Exception)

  • Oluşturucuyu public demo (String s, Exception e) : base(s, e) { }demo sınıfına ekleyin.

CA1032: Standart özel durum oluşturucuları uygulayın: Microsoft.Design: Bu sınıfa aşağıdaki kurucusu ekleyin: protected demo (SerializationInfo, StreamingContext)

  1. Kodu using System.Runtime.Serialization; Class1.cs dosyasının başına ekleyin.

  2. Sonra kurucuyu protected demo (SerializationInfo info, StreamingContext context) : base(info, context) { } to the class demo. ekleyin.

  3. Projeyi yeniden derleyin.

CA1032: Standart özel durum oluşturucuları uygulayın: Microsoft.Design: Bu sınıfa aşağıdaki kurucuyu ekleyin: public demo()

  1. Oluşturucuyu public demo () : base() { } bu demo.sınıfına ekleyin.

  2. Projeyi yeniden derleyin.

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.

  • Ad alanının isim halini testCode 'dan TestCode'a değiştirin.

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.

  • Üyenin adını Demo'ya çevirin.

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.

  • Üyenin adını Item'ya çevirin.

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.

  • Sınıfın ve onun kurucularının adını DemoException'a değiştirin.

CA2210: Derlemelerin tanımlayıcı adı geçerli olmalıdır: Bir tanımlayıcı ad anahtarı ile 'ManagedDemo' imzalayın.

  1. Proje menüsündeki ManagedDemo Özellikler’i tıklayın.

    Proje özellikleri görüntülenir.

  2. İmzalama'ya Tıklayın.

  3. Derlemeyi İmzala onay kutusunu seçin.

  4. Bir dize ad anahtar dosyası seçin listesi içinde, <Yeni...>'yi seçin.

    Tanımlayıcı ad anahtarı oluşturma iletişim kutusu görüntülenir.

  5. Anahtar dosya adı'nın içinde, TestKey yazın.

  6. Bir parola girin ve ardından Tamam'ı tıklayın.

  7. Dosya menüsünde, Seçili Öğeleri Kaydet'i tıklatın ve sonra özellik sayfalarını kapatın.

  8. Projeyi yeniden derleyin.

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.

  1. [Serializable ()] özniteliği ekleyin, demo sınıfına.

  2. Projeyi yeniden derleyin.

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

  1. Her kalan uyarı için aşağıdakileri yapın:

    1. Bu Kod Analizi penceresinde, uyarıyı seçin.

    2. 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

  2. Projeyi yeniden derleyin.

    Proje, herhangi bir uyarı veya hata olmadan oluşur.