2008-12-18 15 views
5

में विकास और निर्माण कैसे करें मैं कई दृश्य मूल परियोजनाओं (सभी डीएलएस) के निर्माण में सर्वोत्तम अभ्यास की तलाश में हूं। हमारे पास कई परियोजनाएं हैं, और हमारा अंतिम वितरण योग्य एक डीएल होगा.अब, एक प्रोजेक्ट 2 का उपयोग करता है अन्य परियोजनाओं, और दूसरा एक और परियोजना को संदर्भित करता है। क्या परियोजनाएं vbp फ़ाइलों, या डीएलएल संदर्भित कर सकती हैं? अगर वे वीबीपी फाइलों का संदर्भ देते हैं, तो सभी परियोजनाओं का निर्माण कैसे करें?विज़ुअल बेसिक 6.0

उत्तर

1

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

आप इसे कम करने में मदद के लिए संरक्षित संगतता सेटिंग्स का उपयोग कर सकते हैं। सुनिश्चित करें कि आप कम से कम प्रोजेक्ट स्तर का उपयोग कर रहे हैं (यदि आप COM + कर रहे हैं तो आप बाइनरी को डीएल के पहले से संकलित संस्करण के आधार पर चाहते हैं)

संकलन के लिए, आप एक समाधान फ़ाइल संकलित कर सकते हैं (लंबे समय से चूंकि मैंने भी Vb6 स्थापित किया था लेकिन मुझे लगता है कि वे .vbg फ़ाइलें थे)।

दिन में हमने Visual Build का उपयोग किया, और Visual Make जो समाधान फ़ाइलों को संकलित करने का समर्थन करता था।

1

आप प्रत्येक परियोजना को निम्नतम स्तर पर शुरू करने और श्रृंखला को अपना रास्ता बनाने के लिए संकलित करते हैं।

वीबी 6 के साथ निर्माण की बड़ी समस्या आम तौर पर संगतता मुद्दों पर वापस जाती है। सबसे खराब स्थिति संगतता समस्या ठीक अनुकूलता निर्देशिका में

कॉपी एक

बिल्ड बी संदर्भ (ए एक अन्य सभी संदर्भ बताते हैं) चला जाता है कुछ इस

एक बिल्ड पसंद करती है एक

संगतता निर्देशिका

बिल्ड सी संदर्भ बी और एक

कॉप में

कॉपी बी संगतता निर्देशिका में वाई सी।

और इसी तरह।

ऐसा इसलिए है क्योंकि COM DLL की टाइपेलिब संदर्भित परियोजनाओं के टाइपेलिब में जोड़ने के लिए शामिल हैं। आप विजुअल स्टूडियो 6.0 के साथ आने वाले ओएलई व्यू टूल का उपयोग कर वीबी 6 कॉम डीएलएल के टाइप लिब्स देख सकते हैं।

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

वह समाधान जो 9 0% काम करता है वह हमेशा डीएलएल के नवीनतम संस्करण को संगतता निर्देशिका में संदर्भित करना है।

एक बार आपके पास एक अच्छा सेट हो जाने के बाद आप स्वचालित निर्माता को स्वचालित रूप से प्रोजेक्ट बनाने के लिए इसका उपयोग कर सकते हैं।

ध्यान दें कि यह समस्या तब होती है जब आप कुछ अन्य DLL संदर्भ जोड़ते हैं और उन्हें बाइनरी संगतता बनाए रखने की आवश्यकता होती है।

आपको यह सुनिश्चित करने की एक प्रणाली की आवश्यकता है कि सभी के पास निर्माण करने के लिए संगतता डीएलएल का सही सेट हो।

2

कुछ वर्षों बाद वीबी 6 के साथ, हमारी परियोजनाओं को इस तरह संरचित किया गया:
स्रोत फ़ोल्डर के तहत व्यवस्थित सभी प्रोजेक्ट स्रोत (प्रोजेक्ट और स्रोत)।
\ परियोजना \ स्रोत
\ परियोजना \ स्रोत \ Project1 \
\ परियोजना \ स्रोत \ Project2 \
...
सभी बाइनरी (.dll और .exe) एक बिन फ़ोल्डर में।
\ project \ bin \

सभी .dll एकल बिन निदेशालय में परिणामस्वरूप फ़ाइल के साथ बाइनरी संगत के रूप में सेट किया गया है।

binarycomptible स्थिर बनाने के लिए प्रारंभिक निर्माण के बाद, हर गैर तोड़ने का निर्माण एक साधारण आदेश फ़ाइल उपयोग करके किया जा होगा शायद इस तरह, स्रोत फ़ोल्डर ऊपर फ़ोल्डर में रखा build.cmd:
"c: \ प्रोग्राम फ़ाइलें \ माइक्रोसॉफ्ट विजुअल स्टूडियो \ VB98 \ VB6.EXE "/ एम। \ स्रोत \ project1 \ proj1.vbp
" सी: \ प्रोग्राम फ़ाइलें \ माइक्रोसॉफ्ट विजुअल स्टूडियो \ VB98 \ VB6.EXE "/ एम। \ स्रोत \ project2 \ proj2.vbp
"c: \ Program Files \ Microsoft Visual Studio \ VB98 \ VB6.EXE"।।।।/एम \ स्रोत \ project3 \ proj3.vbp
डेल \ बिन \ * विस्तार
डेल \ बिन \ *। lib

निर्माण आदेश निर्भरता के क्रम में होना चाहिए।
जब भी एक तोड़ने वाला परिवर्तन हुआ, तो निर्भर वीबी परियोजना को नई बाइनरी में वापस लेना चाहिए।
परिवर्तनों को तोड़ने के बिना, build.cmd आमतौर पर नौकरी करता था।

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