2010-12-17 9 views
11

मैं एक एसवीएन रिपोजिटरी सेट अप करता हूं और सोच रहा हूं कि मुझे डीएलएल फाइलें कहां रखनी चाहिए।मुझे डीएलएल फ़ाइल कहां रखनी चाहिए (जिसे मैं अपने प्रोजेक्ट में उपयोग करता हूं)

जो मैंने वर्तमान में किया है उसे उन्हें/bin/डीबग फ़ोल्डर में रखा गया है और फिर उन्हें विजुअल स्टूडियो में अपनी प्रोजेक्ट फ़ाइल में लिंक करें।

क्या ऐसा करने का यह तरीका है?

उत्तर

9

हम आम तौर पर एक अलग फ़ोल्डर dlls कहा जाता है या कुछ और जहाँ हम सभी 3 पार्टी DLLs/विधानसभाओं

+1

क्या आप इसे समाधान फ़ोल्डर (प्रोजेक्ट के लिए शीर्ष फ़ोल्डर) में डालते हैं: ./dlls या ./projectname/dlls में? – Jason94

+2

हां, हम इसे समाधान के साथ रखते हैं। –

+0

मुझे मैंने "समाधान निर्देशिका" निर्दिष्ट किया है, मैं उन्हें रखता हूं जहां मेरी .exe (cutable) फ़ाइल उत्पन्न होती है। यह नीचे है: $ (समाधान डीआईआर) \ डीबग। –

9

रखने आप बिन/डीबग करने या अपने स्रोत नियंत्रण में bin/रिलीज से कुछ भी नहीं रखना चाहिए है। यदि आप ऐसा करते हैं, तो आप अपना समाधान या अपनी परियोजनाओं को साफ करते समय उन्हें खो देंगे। आपको क्या करना है, उदाहरण के लिए समाधान फ़ोल्डर के भीतर एक फ़ोल्डर बनाएं, और अपनी परियोजनाओं में डीएलएस का संदर्भ लें। प्रोजेक्ट संकलित होने पर किसी प्रोजेक्ट के संदर्भ में मौजूद किसी भी तृतीय-पक्ष डीएल को बिन/डीबग या बिन/रिलीज़ फ़ोल्डर में कॉपी किया जाएगा।

12

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

जो मैं सामान्य रूप से करता हूं वह एक लिब फ़ोल्डर बनाता है, जो मेरे स्रोत पेड़ के शीर्ष स्तर पर है, और आमतौर पर उपकरण द्वारा विभाजित अतिरिक्त फ़ोल्डर में या कार्यक्षमता (लॉगिंग, ईमेलिंग, एपीआईएस, आदि) में सभी आवश्यक संदर्भ डालते हैं। , आदि ...)

0

डीएलएस केवल रनटाइम पर आवश्यक हैं। त्वरित समाधान के लिए, आप अपने डीएलएस को डीबग फ़ोल्डर में कॉपी कर सकते हैं जहां आपकी .exe फ़ाइल है। यह डीबग फ़ोल्डर विजुअल स्टूडियो में समाधान .sln फ़ाइल के समान स्तर पर है। प्रत्येक बार जब आप एक नई परियोजना शुरू करते हैं तो आपको क्या करना होगा ... Debug folder

एक बेहतर समाधान सभी तीसरे पक्ष के डीएलएस, साथ ही सभी संबंधित .h और .lib फ़ाइलों को दो फ़ोल्डरों में कॉपी करना होगा, कहें सी: \ dev \ include और C: \ dev \ lib, और फिर इन 2 फ़ोल्डर्स को अपने पथ पर्यावरण चर में सभी के लिए एक बार जोड़ें। इस तरह, आप उन्हें अपनी प्रतिलिपि बनाने के बिना, अपनी सभी परियोजनाओं से उन्हें एक्सेस करने में सक्षम होंगे।

अब, अगर आप किसी अन्य कंप्यूटर पर अपनी प्रोजेक्ट चलाने में सक्षम होना चाहते हैं, तो आपको अपने प्रोजेक्ट में सभी आवश्यक .h, .lib और .dll फ़ाइलों को एक अलग फ़ोल्डरों में कॉपी करने की आवश्यकता होगी, जो आप कहते हैं अपनी परियोजना निर्देशिका में, अपनी पिछली पोस्ट में उल्लिखित अनुसार, अपनी खुद की प्रोग्राम फ़ाइलों में शामिल हैं और फिर से lib। Project folder

पीएस। क्षमा करें, यह मुझे 2 स्क्रीनशॉट अपलोड करने नहीं देगा, इसलिए लिंक पर क्लिक करें।

0

मैं आमतौर पर इसे अपने विजुअल स्टूडियो प्रोजेक्ट समाधान फ़ोल्डर में लिब फ़ोल्डर में डालता हूं। मैं यह इंगित करने के लिए सभी फ़ोल्डरों को भी बनाऊंगा कि डीएल 32 बिट या 64 बिट बिल्ड के लिए है या नहीं और इसे बनाने के लिए विजुअल स्टूडियो का कौन सा संस्करण इस्तेमाल किया गया था। तो ऐसा कुछ: लिब \ WIN32 \ VC2015 \। तो फिर इस परियोजना के प्रोजेक्ट गुण में, डिबगिंग विन्यास संपत्ति के तहत, मैं पर्यावरण सेट

पथ = $ (SolutionDir) लिब \ Win32 \ VC2015 करने के लिए;% पथ%

ऐसा करके, मैं अलग-अलग प्रोजेक्ट कॉन्फ़िगरेशन के लिए अलग-अलग डीएलएल फ़ोल्डर्स रख सकता हूं यदि मैं चाहता हूं और डीएल फाइल भी स्रोत नियंत्रण में जांच के लिए एक अच्छी जगह पर हों।

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

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