* नोट: इस उत्तर के एक और संस्करण के लिए http://www.jetbrains.net/devnet/message/5244658 देखें ।
पदों के माध्यम से पढ़ना, ऐसा लगता है कि मूल प्रश्न के रूप में कुछ भ्रम है। मुझे एक छुरा ले चलो।
मूल पोस्ट वास्तव में सवाल पूछ रही है: "मैं एक विज़ुअल स्टूडियो प्रोजेक्ट से अन्य प्रोजेक्ट / असेंबली के संदर्भों को कैसे पहचानूं और हटाऊं जो उपयोग में नहीं हैं?" पोस्टर चाहता है कि असेंबली अब निर्माण आउटपुट के हिस्से के रूप में प्रकट न हो।
इस मामले में, ReSharper आपको उनकी पहचान करने में मदद कर सकता है, लेकिन आपको उन्हें स्वयं निकालना होगा।
ऐसा करने के लिए, संदर्भ इनथ सॉल्यूशन ब्राउज़र खोलें, प्रत्येक संदर्भित असेंबली पर राइट माउस क्लिक करें, और "फाइंड डिपेंडेंट कोड" चुनें। देख:
http://www.jetbrains.com/resharper/features/navigation_search.html#Find_ReferencedDependent_Code
आपको या तो मिलेगा:
ब्राउज़र विंडो में उस संदर्भ पर निर्भरता की एक सूची, या
आपको एक संवाद "मॉड्यूल XXXXXXX पर निर्भर कोड नहीं मिला।"
यदि आपको दूसरा परिणाम मिलता है, तो आप संदर्भ पर राइट माउस क्लिक कर सकते हैं, निकालें का चयन कर सकते हैं, और इसे अपने प्रोजेक्ट से हटा सकते हैं।
जबकि आपको यह "मैन्युअल" करना होगा, यानी एक समय में एक संदर्भ, यह काम पूरा करेगा। अगर किसी ने इसे किसी तरह से स्वचालित किया है तो मुझे यह सुनने में दिलचस्पी है कि यह कैसे किया गया था।
आप बहुत अधिक .Net फ्रेमवर्क में लोगों को अनदेखा कर सकते हैं क्योंकि वे आम तौर पर आपके बिल्ड आउटपुट में कॉपी नहीं किए जाते हैं (आमतौर पर - हालांकि सिल्वरलाइट ऐप्स के लिए जरूरी नहीं है)।
कुछ पोस्ट इस प्रश्न का उत्तर देते हुए प्रतीत होते हैं: "मैं एक स्रोत कोड फ़ाइल से क्लॉज़ (C #) का उपयोग करके कैसे निकालूं जो उस फ़ाइल के भीतर किसी भी संदर्भ को हल करने के लिए आवश्यक नहीं हैं"।
इस मामले में, ReSharper कुछ तरीकों से मदद करता है:
फ़्लाय एरर एरर डिटेक्शन के दौरान आपके लिए क्लॉज़ का उपयोग करने वाले अप्रयुक्त की पहचान करता है। वे कोड निरीक्षण चेतावनियों के रूप में दिखाई देते हैं - कोड फ़ाइल में ग्रेयर्ड (डिफ़ॉल्ट रूप से) दिखाई देगा और ReSharper इसे हटाने के लिए एक संकेत प्रदान करेगा:
http://www.jetbrains.com/resharper/features/code_analysis.html#On-the-fly_Error_Detection
आपको कोड सफाई प्रक्रिया के भाग के रूप में उन्हें स्वचालित रूप से हटाने की अनुमति देता है:
http://www.jetbrains.com/resharper/features/code_formatting.html#Optimizing_Namespace_Import_Directives
अंत में, महसूस करें कि ReSharper आपके समाधान पर स्थिर कोड विश्लेषण करता है। इसलिए, यदि आपके पास असेंबली का डायनामिक संदर्भ है - प्रतिबिंब या असेंबली के माध्यम से कहें जो गतिशील रूप से रनटाइम पर लोड होती है और एक इंटरफ़ेस के माध्यम से एक्सेस की जाती है - यह इसे नहीं उठाएगा। आपके कोड आधार और परियोजना की निर्भरता को समझने का कोई विकल्प नहीं है क्योंकि आप अपनी परियोजना पर काम करते हैं। मुझे लगता है कि ReSharper सुविधाएँ बहुत उपयोगी हैं।