2008-10-03 11 views
6

में कैसे काम करते हैं क्या किसी के पास डीएलएस पर अच्छा संसाधन है और वे विजुअल स्टूडियो में कैसे उपयोग/उत्पन्न होते हैं? कुछ सवाल मैं नहीं बल्कि कर रहा हूँ पर धुंधला विशेष रूप से कर रहे हैं:डीएलएस को समझना और वे विजुअल स्टूडियो

  • कैसे ताज़ा फ़ाइलें काम
  • संस्करण संख्याओं कैसे dll उत्पन्न कर रहे हैं
  • विशिष्ट dll के लिए ब्राउज़िंग बनाम परियोजना द्वारा एक संदर्भ जोड़ने के बीच का अंतर

कोई अन्य सुझाव भी स्वागत है।

उत्तर

5

कुछ पृष्ठभूमि के लिए DLL information पर प्रश्न देखें।

अप्रबंधित डीएलएल के लिए संस्करण संख्या डीएलएल की आरसी फाइल में संग्रहित की जाती है, जो एक्सई के समान है। कामयाब DLLs के लिए मेरा मानना ​​है कि यह AssemblyFileInfo विशेषता का उपयोग करता है, आमतौर पर एक दृश्य स्टूडियो उत्पन्न परियोजना के लिए AssemblyInfo.cs में: (डिबग/रिलीज

[assembly: AssemblyFileVersion("1.0.0.0")] 

आप परियोजना द्वारा संदर्भ जोड़ते हैं तो वी.एस. सही स्वाद कॉपी करने के लिए सक्षम हो जाएगा) संदर्भित असेंबली की आपकी आउटपुट निर्देशिका में। यह इस जानकारी का उपयोग परियोजनाओं के बीच निर्भरता को स्पष्ट रूप से जोड़ने के लिए भी कर सकता है ताकि यह सही क्रम में बन सके।

10

नेट DLL के

एक .NET DLL के लिए सामान्य शब्द एक विधानसभा है। वे तैनाती की एक परमाणु इकाई हैं और उनमें से एक या अधिक सीएलआर 'मॉड्यूल' शामिल हैं (ज्यादातर डेवलपर्स के लिए आमतौर पर केवल तब तक जब तक कि वे उदाहरण के लिए दो या दो से अधिक भाषाओं से कंपाइलर आउटपुट का संयोजन नहीं कर लेते)। असेंबली में सीआईएल कोड और सीएलआर मेटाडेटा जैसे असेंबली मैनिफेस्ट दोनों होते हैं।

.refresh फ़ाइलें

.refresh फ़ाइलें बस पाठ फ़ाइलों का वी.एस. बता जहां संदर्भित dll का नया बनाता है के लिए जाँच कर रहे हैं। उनका उपयोग फाइल आधारित वेब परियोजनाओं में किया जाता है जहां इस जानकारी को स्टोर करने के लिए कोई प्रोजेक्ट फ़ाइल नहीं है।

संस्करण संख्याओं

नेट विधानसभा संस्करण संख्या एक विधानसभा द्वारा उत्पन्न कर रहे विशेषता AssemblyVersion जो आम तौर पर एक स्रोत नामक फ़ाइल में पाया जाता है 'AssemblyInfo.cs' (से 'गुण' नामक एक परियोजना फ़ोल्डर के अंतर्गत पाया scoped वीएस2005 आगे)। संस्करण संख्या major.minor.build.revision शामिल हैं, उदाहरण के लिए -

[विधानसभा: AssemblyVersion ("1.0.0.0")]

AssemblyVersion अपनी मजबूत में एक विधानसभा की पहचान का हिस्सा (यानी के रूप में प्रयोग किया जाता है नाम) और बाध्यकारी प्रक्रिया और संस्करण नीति निर्णयों के दौरान एक महत्वपूर्ण भूमिका निभाता है।

उदाहरण के लिए यदि मेरे पास जीएसी में एक ही नाम की दो असेंबली थी तो असेंबली वर्जन विशेषता असेंबली के एक विशिष्ट संस्करण को लोड करने के प्रयोजनों के लिए उन्हें अलग करेगी।

AssemblyVersion संख्या तय किया जा सकता है और मैन्युअल रूप से वृद्धि की जाती है या आप संकलक निर्दिष्ट करने के द्वारा आप के लिए निर्माण और संशोधन संख्या उत्पन्न करने के लिए अनुमति दे सकते हैं: "1.0 AssemblyVersion (:

[विधानसभा।। * ")] - उत्पन्न करता है का निर्माण और संशोधन संख्या
[विधानसभा: AssemblyVersion (" 1.0.0 * ")] - संशोधन संख्या उत्पन्न करता है

AssemblyVersion विशेषता फिर '0.0 के लिए संस्करण संख्या डिफ़ॉल्ट पेश नहीं किया जाता है। 0.0 '।

AssemblyVersion विशेषता के मान एक विधानसभा के प्रकट का हिस्सा बन जाता, AssemblyFileVersion विशेषता मान नहीं करता है।

AssemblyFileVersion विशेषता DLL में एक Win32 फ़ाइल संस्करण एम्बेड करने के लिए प्रयोग किया जाता है। यदि यह नहीं है तब उपस्थिति विधानसभा का उपयोग किया जाता है। इसका कोई असर नहीं है कि .NET के रूप में कैसे स्प्रिंग्स लोडर/रिज़ॉल्वर लोड करने के लिए असेंबली का कौन सा संस्करण चुनता है।

परियोजना संदर्भ बनाम ब्राउज़िंग DLL

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

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