C #: الأداة المساعدة للعثور على مراجع دائرية / ترجمة بالترتيب الصحيح؟

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

  •  13-09-2019
  •  | 
  •  

سؤال

Doers أي شخص يعرف فائدة جيدة أو برنامج لاستجواب حل أو دليل لجميع المشاريع وأخبرك أين المراجع الدائرية وتجميعها في النظام ..

أتذكر أن أرى منذ فترة واحدة لكنني لا أستطيع أن أجدها في أي مكان ..

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

المحلول

ndepend. هي أداة ممتازة التي سوف تفعل هذا وأكثر من ذلك بكثير. ربما يكون المبالغة في ما تريد، ولكن هناك نسخة تجريبية، لذا إلقاء نظرة ...

نصائح أخرى

أعلم أن هذه إجابة متأخرة، لكنني وجدت استخدام إجابات GRAEMEF و TSILB كلاهما أي اعتماد بين الجمعتين. يبدو الأمر إذا عكس ترتيب التبعيات (الجمعية أ المراجع ب, ، لكنك تبديله إلى ب الرجوع إلى أ)، إنه يترك التبعية في ترتيب البناء. لحل هذا، افتح مربع الحوار الخصائص لحلك، انتقل إلى الخصائص الشائعة، ثم تبعيات المشروع. أعثر على الجمعية أ وإزالة الاعتماد على الجمعية ب. وبعد هذا سيسمح لك بإضافة المرجع بشكل طبيعي.

يمكنك مطاردة شجرة التبعية عبر system.reflection. أثناء إنشاء الشجرة، عند إضافة عقدة، ستحقق لمعرفة ما إذا كان أي أولياء الأم والآباء العقدة هو نفس المشروع أو التجميع كواحد إضافته. إذا كان هذا صحيحا، رمي استثناء للمستخدم.

رمي الاستثناءات الفنية مثل هذا واحد على ما يرام إذا كان المستخدمون سيكونون أشخاص يعرفون كيفية عمل التجميع والاستثناءات العمل - أشخاص مثل المطورين :)

إذا كنت تستخدم مشروع المراجع بين المشاريع في الحل الخاص بك سيتم تحديد أمر الإنشاء الصحيح تلقائيا بواسطة Visual Studio (أو MSBUILD). هذه الاستراحات بالطبع إذا كنت تستخدم مراجع التجمع .. أيضا Visual Studio سوف يمنعك من إضافة دائرية مشروع المراجع.

ورثت محلول عشوائي جيغنيثي مع بعض المسارات المرجعية الدائرية. كتبت برنامج نصي LinQPAD للمساعدة في العثور على سلسلة مرجعية دائرية:

https://github.com/ronnieoverby/linqpad-utils/blob/master/find٪20circular٪20reensences.linq.

من المحتمل أن يكون تطبيقي ساذجا، لكنه يعمل بسرعة معقولة بالنسبة لي.

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