2011-02-28 21 views
6

जब मैं विजुअल स्टूडियो में एक समाधान में एक प्रोजेक्ट बनाता हूं (यह सी # वीबी.नेट एफ # या अन्य हो सकता है) मुझे लगता है कि प्रति परियोजना केवल एक असेंबली सही उत्पन्न होती है?.NET असेंबली को समझना

तो यदि मेरे पास प्रोजेक्ट 1 2 3 और 4 युक्त समाधान है, तो जब मैं प्रत्येक प्रोजेक्ट में से एक बनाता हूं तो मुझे 4 असेंबली मिलती हैं?

हालांकि, क्या निर्माता/कंपाइलर को पूरे समाधान के लिए केवल एक असेंबली उत्पन्न करने की संभावना है? या एक साथ संकलित दो परियोजनाओं के लिए?

मैं संकलक बुला कमांड लाइन का उपयोग करने और स्थापित करने के लक्ष्य विधानसभा की तरह कुछ मतलब ...

+0

फिर क्यों एक अनूठी परियोजना नहीं बनाते? – bAN

+2

@bAN उदाहरण के लिए क्योंकि आप विभिन्न परियोजनाओं में विभिन्न भाषाओं का उपयोग करते हैं। या आप अपनी परतों को एक कंपाइलर लागू तरीके से अलग करना चाहते हैं। या आपके पास एकाधिक समाधानों के बीच सामान्य कोड है। – CodesInChaos

+0

@bAN सॉरी देर से होने के लिए ... अच्छी तरह से जरूरत है, कभी-कभी, जहां एक प्रोग्रामर को एक uniqie असेंबली में संकलित करते समय अलग परियोजनाओं को रखने की जरूरत है ... – Andry

उत्तर

10

डिफ़ॉल्ट रूप से परियोजनाओं और विधानसभाओं के बीच एक पत्राचार 1 1 करने के लिए नहीं है। लेकिन आप कई से एक असेंबली बनाने के लिए ILMerge जैसे टूल का उपयोग कर सकते हैं।

+0

वाह ठीक है ... धन्यवाद कोडइनकोस यह सहायक था ... हालांकि .net compilers का उपयोग करके ऐसा करने का कोई तरीका है ??? उदाहरण के लिए उन्हें कमांड लाइन से बुलाएं और लक्ष्य असेंबली निर्दिष्ट करें ??? – Andry

+0

मुझे लगता है कि आप पोस्ट बिल्ड स्क्रिप्ट में ऐसी कॉल डाल सकते हैं। लेकिन मैंने ऐसा कुछ नहीं किया है। – CodesInChaos

+0

@Andry MSBuild यहां सही टूल हो सकता है। इस ब्लॉग एंट्री को देखें: http://www.hanselman.com/blog/MixingLanguagesInASingleAssemblyInVisualStudioSeamlesslyWithILMergeAndMSBuild.aspx – PetPaulsen

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