2011-09-01 15 views
38

मैं सिस्टम को देख रहा हूं। डेटा। SQLite डाउनलोड page, और यह .NET 4 और नियमित (मुझे लगता है) के लिए मिश्रित मोड असेंबली सूचीबद्ध करता है। मेरी प्रोजेक्ट जो इस लाइब्रेरी का उपयोग करने जा रही है वह सभी .NET 4 है जिसे x86 में संकलित किया जाएगा।मिश्रित मोड असेंबली क्या है?

  1. एक मिश्रित-मोड विधानसभा क्या है:

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

  2. मुझे अपनी स्थिति के लिए कौन सा डाउनलोड मिलना चाहिए?

उत्तर

32

http://msdn.microsoft.com/en-us/library/x0w2664k.aspx

1) Allways MSDN पहले की जाँच करें। मिश्रित मोड का अर्थ है कि असेंबली प्रबंधित और अप्रबंधित कोड चला सकती है।

2) 32-बिट विंडोज (.नेट फ्रेमवर्क 4,0)

http://system.data.sqlite.org/sqlite-netFx40-setup-bundle-x86-2010-1.0.74.0.exe

सेटअप तुम थोड़े जवाब है कि अपने आप सवाल "मेरा परियोजना है कि इस पुस्तकालय का उपयोग करने के लिए जा रहा है है सभी .NET 4 जो होगा x86 में संकलित किया जाना चाहिए। "

+2

तो प्रभावशाली मिश्रित मोड असेंबली हमेशा सी ++ में लिखी जाती हैं? – AngryHacker

+2

और आप कह रहे हैं कि मुझे मिश्रित-मोड असेंबली का उपयोग करना चाहिए। मैं अभी भी अस्पष्ट क्यों हूं। – AngryHacker

+3

क्योंकि केवल मिश्रित-मोड असेंबली हैं। ऐसा इसलिए है क्योंकि sqlite 'कार्यक्षमता' सी (COM) में लिखा गया है और आप इसे .NET के लिए एक रैपर के माध्यम से एक्सेस करते हैं। इसलिए असेंबली में सी और सी # कोड -> मिश्रित मोड असेंबली शामिल है। – Steav

6

शुद्ध आईएल से मिश्रित मोड असेंबली का उत्पादन करने का एक तरीका है। प्रतिबिंब का उपयोग करके असेंबली बनाने का अंतिम भाग AssemblyBuilder.Save पर कॉल करता है। यदि आप PortableExecutableKinds.Required32Bit को पोर्टेबल एक्स्टाटेबलकिंड तर्क के लिए पास करते हैं तो आप एक मिश्रित-मोड असेंबली बनायेंगे। PortableExecutableKinds.ILOnly को पारित करके आप इस कारणों से बच सकते हैं। अर्थात


    assembly_bldr.Save(exe_name, PortableExecutableKinds.Required32Bit | PortableExecutableKinds.ILOnly, ImageFileMachine.I386); 

जरूरत नहीं कहने के लिए, इस जानकारी को कठिन जीता था ...

5

आधिकारिक FAQ

(14) से लिया एक मिश्रित-मोड विधानसभा क्या है?

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

यह भी इस प्रश्न का संदर्भ देता है!

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