استبعاد مساحة الاسم الكامل من تحليل رمز FxCop؟

StackOverflow https://stackoverflow.com/questions/353110

  •  20-08-2019
  •  | 
  •  

سؤال

هل من الممكن استبعاد مساحة الاسم الكامل من كل تحليل FxCop في حين لا يزال تحليل بقية التجمع باستخدام SuppressMessageAttribute؟

في حالتي الحالية، ولدي مجموعة من الطبقات التي تولدها LINQ إلى SQL والتي تتسبب في الكثير من القضايا FxCop، وبالطبع، وأنا لن تعديل كل تلك بما يتوافق مع المعايير FxCop، والكثير من هذه التعديلات سيكون ذهب إذا أنا أعيد ولدت-الطبقات.

وأنا أعلم أن FxCop لديه خيار مشروع لقمع التحليل على الشفرة التي تم إنشاؤها، ولكن لا يبدو أن تعترف الطبقات كيان والسياق الذي نشأ عن LINQ 2 SQL كما الشفرة التي تم إنشاؤها.

هل كانت مفيدة؟

المحلول

إذا علامة الفصول الدراسية مع السمة [GeneratedCode]، يمكنك استخدام العلم / ignoregeneratedcode مع FxCop كما هو موضح في هذا المنصب MSDN:

<وأ href = "http://blogs.msdn.com/b/codeanalysis/archive/2008/02/28/faq-how-do-i-prevent-fxcop-1-36-from-firing- تحذيرات ضد المولدة-code.aspx "يختلط =" noreferrer "> الأسئلة الشائعة: كيف يمكنني منع FxCop من اطلاق تحذيرات ضد الشفرة التي تم إنشاؤها

وقد تضطر إلى إضافة ملف الرمز الجديد وتنفيذ فئات جزئية جديدة هناك لإضافة السمة إلى فئات هي:

[GeneratedCode]
public partial class MainDataContext { }

وفقط تأكد من إضافة شيء إلى مساحة الاسم الصحيح عند إنشاء ملف جديد.

نصائح أخرى

[GeneratedCode] attribute للل الطبقات.
تعديل : ل. قصدته لفئات جزئية مع نفس الأسماء، كما أوضح الجواب أخرى

استخدم في منشأ رمز سمة، هيريس في بلوق وظيفة من فريق تحليل رمز على هذا الموضوع.

وهذا في الجزء العلوي من مساحة ينبغي أن تفعل خدعة:

[GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "9.0.0.0")]
<Assembly: SuppressMessage("Microsoft.Design", _
    "CA1020:AvoidNamespacesWithFewTypes", _
    Scope:="namespace", _
    Target:="Missico.IO")> 

ووضع البيان في GlobalSuppressions.vb في الجذر من المشروع.

وكل ما لدي هو VB سبيل المثال.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top