2012-05-13 93 views
5

के भीतर परियोजनाओं/संदर्भों की एक सूची प्राप्त करें मैं विजुअल स्टूडियो 2010 एक्सटेंशन पैकेज (Microsoft.VisualStudio.Shell.Package) बना रहा हूं, जिसमें सभी परियोजनाओं और उन परियोजनाओं के संदर्भों का विश्लेषण करने की आवश्यकता है। मुझे लगता है कि यह एक सेवा के साथ किया जाता है (उदा। Package.GetService(typeof(IMenuCommandService)))। मुझे जो चाहिए वह इंटरफ़ेस है जिसमें उन परियोजनाओं के लिए परियोजनाओं और संदर्भों की सूची प्राप्त करने की कार्यक्षमता शामिल है। इसके अलावा, दृश्य स्टूडियो के भीतर उपलब्ध इंटरफेस वाले संदर्भ को कहां से प्राप्त करने के बारे में कोई सलाह बहुत सराहना की जाएगी।विजुअल स्टूडियो 2010 एक्सटेंशन

ध्यान दें कि मैंने कई लोगों को मैक्रो से डीटीई का उपयोग करने जैसा कुछ करने की कोशिश की है। यही वह नहीं है जो मैं करने की कोशिश कर रहा हूं। मैं एक दृश्य स्टूडियो एक्सटेंशन के भीतर से एक ही काम करने की कोशिश कर रहा हूं।

उत्तर

7

तो भले ही आप इसे विस्तार के हिस्से के रूप में कर रहे हों, फिर भी आपको अपनी सभी जानकारी प्राप्त करने के लिए डीटीई एपीआई का उपयोग करने की आवश्यकता होगी। यह पीछे की ओर प्रतीत हो सकता है लेकिन यह ठीक है कि यह कैसे काम करता है। आपको (EnvDTE.DTE)Package.GetService(typeof(SDTE)) के माध्यम से डीटीई ऑब्जेक्ट को पकड़ना चाहिए। एक बार आपके पास EnvDTE.Project हो, तो उसके ऑब्जेक्ट सदस्य तक पहुंचें और इसे VSLangProj.VSProject पर डालें यदि यह सी # या वीबी प्रोजेक्ट है। इसमें आपकी संदर्भ जानकारी है।

+0

यह थोड़ा अजीब लगता है, लेकिन मैंने आपके उत्तर की पुष्टि की है। धन्यवाद! –

+0

हां, भरोसेमंद जानकारी प्राप्त करने का एकमात्र तरीका डीटीई के माध्यम से है। यह मूर्ख और पीछे की तरफ है, लेकिन इस तरह यह काम करता है। –

+0

कभी-कभी आपको सभी परियोजनाएं नहीं मिलेंगी: http://stackoverflow.com/questions/33209589/project-names-in-visual-studio-solution- कभी-कभी-are-empty – alerya