2011-03-20 18 views
26

में संदर्भित असेंबली के स्रोतों को कैसे संलग्न करें I ग्रहण पर जावा विकास से आने वाले विजुअल स्टूडियो के लिए बिल्कुल नया हूं। अन्य चीजों में से मुझे ईक्लीप्स से बहुत याद आती है बाइनरी असेंबली के स्रोत को देखने की क्षमता है।विजुअल स्टूडियो

ग्रहण में मैं संदर्भित जार के लिए स्रोत कोड के संदर्भ को जोड़ सकता हूं और उसके बाद स्रोत पर नेविगेट करना आसान है, ब्रेकपॉइंट्स जोड़ें और उन लोगों को डीबग करें जैसे कि मेरे वर्कस्पेस में लाइब्रेरी हैं।

इस बिंदु तक मैं एक असेंबली संदर्भ में स्रोत कोड संलग्न करने में कामयाब नहीं रहा हूं।

क्या यह संभव है? मैं ऐसा करने के बारे में कैसे जा सकता हूं (यह देखते हुए कि इस पुस्तकालय के लिए मेरे पास स्रोत कोड तक पहुंच है)?

उत्तर

11

वीएस -2010 का उपयोग करना - आपको सबसे पहले डीबग प्रतीकों के साथ अपनी संदर्भित असेंबली संकलित करने की आवश्यकता होगी।

विकल्पों में से एक जोड़े तो कर रहे हैं:

  1. एक वस्तु है जो आप ऑब्जेक्ट ब्राउज़र में डिबग करने के लिए चाहते हैं। दायाँ क्लिक करें -> नेविगेट करें -> प्रतीक फ़ाइलों से स्रोत।
  2. जब तक आप संदर्भित असेंबली में कदम नहीं उठाते, तब तक अपने कोड के माध्यम से कदम उठाएं। इस बिंदु पर एक संवाद पॉप अप करेगा कि स्रोत फाइल कहां हैं। यदि ऐसा नहीं होता है, या आपने इसे रद्द कर दिया है, तो "स्रोत ढूंढने के लिए ब्राउज़ करें" दाईं ओर दिखाई देगा। यदि यह गहरा हुआ है, तो ऐसा इसलिए हो सकता है क्योंकि आप रिलीज असेंबली का संदर्भ दे रहे हैं।
+5

मुझे प्रतीक फ़ाइलों से स्रोत नहीं दिख रहे हैं। मेरा मानना ​​है कि यह एक रिशेर्पर सुविधा है। –

-1

सबसे तेज़ तरीका: यदि आपके पास इन असेंबली के लिए स्रोत कोड है। उस स्रोत कोड को अपने वर्तमान समाधान के लिए एक नई परियोजना के रूप में जोड़ें ताकि असेंबली प्रोजेक्ट और आपकी रेफरेंसिंग प्रोजेक्ट एकल समाधान का हिस्सा हो।

अब से विधानसभा परियोजना में assembles के संदर्भ में जोड़ने के संदर्भ जोड़ें और 'परियोजनाओं' टैब का चयन करें।

अपने असेंबली स्रोत कोड में ब्रेकपॉइंट रखें, और डिबगिंग शुरू करें और मज़े करें!

'कोड इन' या एफ 11 का उपयोग करें और स्रोत कोड में संदर्भित होने पर ब्रेकपॉइंट्स हिट किए जाएंगे।

+5

धन्यवाद, लेकिन यह नहीं करेगा। मुझे अभी भी बाइनरी असेंबली से मेरी निर्भरता को परिभाषित करने की आवश्यकता है, स्रोत कोड नहीं (मैंने NuGet पैकेज मैनेजर के साथ depencency में खींचा है)। तथ्य यह है कि मेरे पास स्रोत है, केवल मेरी डिबगिंग और कोड पुरातत्व की ज़रूरतों के लिए एक सहायता के रूप में कार्य करना चाहिए ... –

+4

इसके अलावा - मैं अपने समाधान का निर्माण करने के लिए सीआई सर्वर का उपयोग करता हूं और अधिकांश बाहरी निर्भरताओं के लिए स्रोत परियोजनाएं होने के लिए अनिवार्य रूप से निर्माण के समय बढ़ने जा रहा है मेरा समाधान –

4

आप ReSharper का उपयोग करते हैं, तो आप इसे ReSharper/विकल्प/बाहरी स्रोतों पर जाकर सक्षम करें, और "प्रतीक फ़ाइलों से स्रोत" को स्थानांतरित कर सकते हैं। फिर टैब में "प्रतीक फाइलों के स्रोत" टैब पर, "उन्नत" पर क्लिक करें और वहां आप स्रोत फ़ोल्डरों को मैप कर सकते हैं।

इस उत्तर here की एक प्रति है, लेकिन मैं इसे यहाँ शामिल करने के लिए, इसलिए यदि आप, पाठक, इस लिंक आप इस सवाल का जवाब भी है पर ठोकर खाई है चाहता था।

संबंधित मुद्दे