2010-11-12 6 views
10

Hizmet referansının bulunduğu oluşturulan bir Reference.cs dosyasına sahip bir Silverlight projem var. Sınıf, [GeneratedCode] ile ilişkilendirilir ve proje yapılandırmasında, oluşturulan koddaki kod analizi devre dışı bırakılır (Release and Debug).Oluşturulan kodda kod analizi nasıl bastırılır?

Neyi yanlış yaptım?

+0

ilgili: http://stackoverflow.com/questions/1590238/how-to-configure-stylecop-to-suppress-warnings-on-generated-code –

cevap

11

Belki StyleCop için çalışır çözümleri denemelisiniz:

1) dosyanın adının sonuna ".Designer.cs" Put Eğer StyleCop kontrol etmek istemiyoruz. Veya sınıfı ve onu içeren dosyayı "NativeMethods" olarak adlandırın. Ayrıca StyleCop ayarlarında "Tasarım dosyalarını analiz et" seçeneğinin işaretini kaldırdığınızdan emin olun. Bu durumda, tüm dosya atlanacaktır. Windows Forms Designer gibi bazı Microsoft tasarımcı tarafından oluşturulan kodlar için bunu yapmak zorunda değilsiniz, çünkü bunlar otomatik olarak aşağıdaki seçeneğin koşulları altında kalıyor:

2) İstenmeyen kod parçasını bir C# bölgesi ile çevreleyin adında "oluşturulan kod" içeren. StyleCop, üretilen kodu varsayılan olarak kontrol etmez ("Oluşturulan dosyaları analiz et" ayarının kontrol edilmediğinden emin olun). Bu durumda, Windows Forms denetimleri için oluşturulan alanların adlarını yine de doğrulayabilirsiniz.

#region Windows Form Designer generated code

...

#endregion

3) Aşağıdaki gibi, dosya üst-uyumlu StyleCop sizin jeneratör içine "" XML elemanı koyar olmadığını kontrol, tüm Oluşturulan dosyayı görmezden için:

// <auto-generated />

4) Son olarak, analizden hariç tutulması gereken dosyayı temsil eden MSBuild Derleme öğesinin "ExcludeFromSourceAnalysis" özelliğini doğru olarak ayarlayabilirsiniz. Yalnızca sağlanan "Microsoft.SourceAnalysis.Targets" hedefleri dosyasını kullanırsanız çalışır, aksi takdirde, StyleCop MSBuild görevini kendi istediğiniz kaynak dosyalarıyla beslemeniz gerekir.

Kaynak: http://shishkin.wordpress.com/2008/07/08/stylecop-how-to-ignore-generated-code/

+1

Ben seçeneği 3 denedim ve otomatik olarak oluşturulan etiket göz ardı ediliyor - Bu konuda bir soru ekledim: http://stackoverflow.com/questions/5027889/excclude-file-from-stylecop-analysis-auto-generated-tag-is-ignored –

+3

Kod analizi (eskiden FxCop) StyleCop ile aynı değil, belki Cop olayı çok kafa karıştırıcı –