Visual Studio: كشف الجمعيات غير الضرورية

في المشروعات الكبيرة و/أو الطويلة ، أميل إلى الإشارة إلى العديد من التجميعات ومساحات الأسماء ، وغالبًا ما ينتهي بي الأمر بإزالة بعض الوظائف لاحقًا أو نقلها إلى مشروع مختلف.

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

باستخدام Visual Studio 2005 و 2008 Professional إذا كان ذلك مهمًا.

تحرير: شكرا حتى الآن. المشكلة مع ReSharper أو "إزالة و Readd في حالة فواصل الإنشاء" هي أنه مضجر تمامًا على كل ملف و تجميع (يحتوي My Project على حوالي 120 ملفًا بتنسيق .cs في 7 تجميعات ، وراجع ما مجموعه 18 تجميعًا خارج الحل) ، لذلك من الناحية المثالية أنا أبحث عن شيء "بنقرة واحدة". نقاط مكافأة كبيرة لبعض الطرق الآلية التي يمكن استخدامها في buildscripts لإنشاء تقرير :)

0
وأضاف تحرير
الآراء: 1
Resharper قدم مؤخرا رخصة شخصية أرخص. أعتقد أنه من € 134 € C# الآن. أدوات مجانية سيكون من الجيد بالطبع (إذا كان MSBuild يمكن أن تفعل ذلك من خلال honkey-dorey!) ، ولكن أنا أساسا تبحث عن شيء يعمل أولا :)
وأضاف المؤلف Michael Stum, مصدر
وأضاف المؤلف Josh Lee, مصدر
سيكون من الجيد لو كان السؤال من حيث الأدوات المجانية ، وليس الأدوات فقط. لقد حصلت على resharper لذلك الحل أدناه جيد ، ولكن لا يزال ...
وأضاف المؤلف Oskar, مصدر

10 إجابة

نعم ، لا أعتقد أن هناك واحد. أنا مجرد حذف بعض لا أعتقد أن هناك حاجة ثم بناء: /

راجع للشغل. التي سوف تستمر في استخدام الأخطاء. يمكنك استخدام أوامر Visual Studio Power لإزالة وفرز usings ، لذلك القيام بذلك أولاً ، ثم حذف التجميعات العشوائية: D

0
وأضاف

أي ملف تعريف رمز لائق سيفعل هذا بالنسبة لك. أنا أحب DevPartner شخصيا.

0
وأضاف

لن يتم التخلص من أي مراجع في الكود إلى التجميعات المشار إليها (على ما أظن) ، ولكن يمكنك الانتقال إلى خصائص كل مشروع من مشروعاتك ، والحصول على مراجع ، ثم النقر فوق "المراجع غير المستخدمة ...". ثم يمنحك Visual Studio خيارًا لإزالتها هناك.

لا توجد طريقة للقيام بذلك على مستوى الحل رغم ذلك.

0
وأضاف

(تم تقريبًا من هنا ) بالنظر إلى أن VisualStudio (أو هل هو msbuild؟) يكتشف المراجع غير المستخدمة ولا يتم تضمينها في ملف الإخراج ، يمكنك كتابة برنامج نصي يوزع المراجع خارج csproj ، ويقارن ذلك مع التجميعات المشار إليها التي تم اكتشافها بواسطة الانعكاس على إخراج المشروع.

إذا كنت متحمسا ...

0
وأضاف

لقد عثرت على هذا السؤال أثناء البحث في Google وتبحث عن طريقة لإزالة عبارات "استخدام" غير المستخدمة من شفرتي.

ريفاكتور رائع ، لكنه غير متوفر لي. ومع ذلك ، كما اتضح أن Visual Studio 2008 يقوم بذلك بنفسه.

فيما يلي الخطوات:

  1. قم بتحميل الرمز في Visual Studio.
  2. انقر بزر الماوس الأيمن على أي مكان في صفحة الشفرة.
  3. انقر على "تنظيم الاستخدامات" من القائمة.
  4. انقر على "إزالة الاستخدامات غير المستخدمة"

فعله. أدرك أن هذا لا يجيب على السؤال الأصلي (يفعل هذا بشكل جماعي لمشروع بأكمله) ولكنه يجيب عن سؤالي.

0
وأضاف
هذا هو متاح أيضا في Visual Studio 2010
وأضاف المؤلف Junior M, مصدر

Resharper will do this for you and you can set it up in the Clean Code option that you can run solution wide ;o)

0
وأضاف

إذا كان لديك ReSharper مثبتًا ، فيمكنك من خلال Solution Explorer النقر بزر الماوس الأيمن على مرجع والنقر فوق Find Dependent Code . إذا عاد مرة أخرى باستخدام مربع حوار للنتائج ، فأنت تستخدم ذلك المرجع/التجميع. إذا تلقيت الرسالة "الرمز المعتمد على الوحدة النمطية اسم الوحدة النمطية لم يتم العثور عليه." ثم يجب أن تكون على ما يرام لإزالة ذلك المرجع/التجميع لأنه لا يتم استخدامه.

0
وأضاف

كما ذكر في الردود السابقة ، تعمل Resharper بشكل جيد على هذا بالإضافة إلى مجموعة متنوعة من الحالات الأخرى مثل كطرق لجعل التعليمات البرمجية نظافة وتوليد أشياء معينة بالنسبة لك. أفضل طريقة لمعرفة جميع مزايا Resharper هي تنزيل الإصدار التجريبي ، وطباعة Keymap Cheatsheet والتقطه إلى جانب المكان الذي تتطور فيه.

قصة قصيرة طويلة ، إنها تحل هذه المشكلة ولكنها تفعل أكثر من ذلك بكثير.

0
وأضاف

إذا كان لديك ReSharper ، ثم حدد الحل ، انقر بزر الماوس الأيمن وحدد رمز التنظيف. بعد ذلك ، سيتابع Resharper كل ملف رمز في الحل.

فيما يتعلق بإزالة مراجع المشروع ، عند تشغيل المحول البرمجي لن يؤدي ذلك إلى إضافة المرجع إذا لم يتم استخدام أي رمز dll.

0
وأضاف

إزالة المراجع غير المستخدمة هي ميزة يدعمها Visual Studio 2008 بالفعل. لسوء الحظ ، فقط لمشاريع VB. NET.

لقد فتحت اقتراحًا على Microsoft Connect للحصول على هذه الميزة لمشاريع C# أيضًا:

http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=510326

إذا كنت تحب هذه الميزة أيضًا ، فقد تصوت اقتراحي.

0
وأضاف
شكرا لفتح اقتراح حول الاتصال ، وليس ما يكفي من الناس وضع الجهد عليها للقيام بذلك. كما أتساءل عما إذا كان هناك على أي حال للحصول على هذه الميزة المخفية من خلال استخدام ماكرو لمشروع C #.
وأضاف المؤلف jpierson, مصدر