2012-08-11 15 views
5

जबकि iTextSharp dllcompliation समय त्रुटि के लिए एंड्रॉयड

C:\Program Files\MSBuild\Novell\Novell.MonoDroid.Common.targets(2,2): Error: Exception while loading assemblies: System.IO.FileNotFoundException: Could not load assembly 'System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. Perhaps it doesn't exist in the Mono for Android profile?

File name: 'System.Drawing.dll'

at Monodroid.Tuner.MonoDroidResolver.Resolve(AssemblyNameReference reference, ReaderParameters parameters)

at Xamarin.Android.Tasks.ResolveAssemblies.AddAssemblyReferences(List`1 assemblies, AssemblyDefinition assembly)

at Xamarin.Android.Tasks.ResolveAssemblies.Execute() (Dashmate)

इसके अलावा, मैं System.Drawing.dll जोड़ने की कोशिश की संदर्भित मैं निम्नलिखित त्रुटि मिलती है मोनो में iTextSharp Dll संदर्भित, लेकिन यह अभी भी त्रुटि को हल नहीं किया ।

Mono.Android.dll भीतर System.Drawing System.Drawing.dll जो iTextSharp

उत्तर

2

मैं Xamarin

You cannot use System.Drawing.dll which is available only in full .NET profile. Mono for Android supports only its mobile-based profile which is almost the same as Silverlight

तो की विकास टीम से जबाब मिला है, मुझे लगता है कि है कि हम तीसरी पार्टी dll का जो है "System.Drawing" क्लास :(

2

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

इस मामले में यह iTextSharpडेस्कटॉप ढांचे विधानसभाओं (अर्थात 2.0.0.0 संस्करण संकेत है, Android संस्करण के लिए मोनो 2.1.x हो जाएगा) के खिलाफ संकलित की तरह लग रहा है।

सामान्य रूप से ऐसी समस्याओं का समाधान परियोजनाओं को पुन: संकलित करना है (इस मामले में iTextSharp) एंड्रॉइड के लिए मोनो असेंबली के खिलाफ है। इस तरह सभी संदर्भ एम 4 ए असेंबली के खिलाफ होंगे और लिंकर उन्हें संसाधित करने में सक्षम होंगे (क्योंकि उनमें से कुछ भी गायब नहीं होगा, अन्यथा यह संकलन समय में विफल हो जाएगा)।

ध्यान दें कि स्रोत से i -extSharp को फिर से संकलित करना संभव नहीं है, यदि यह System.Drawing.dll से बहुत सी चीजों पर निर्भर करता है।

Also I tried to add System.Drawing.dll , but it still did not resolve the error.

डेस्कटॉप विधानसभाओं काम करने के लिए की संभावना नहीं है का उपयोग करना (के रूप में वे विभिन्न प्रकार के साथ अलग अलग विधानसभाओं पर निर्भर करते हैं, ...)।

इसके अलावा System.Drawing.dll विंडोज (या मोनो) के साथ भेजा गया है जो एंड्रॉइड के लिए मोनो के साथ काम नहीं करेगा क्योंकि वे जीडीआई + (या मोनो के लिए libgdiplus) पर निर्भर करते हैं जो एंड्रॉइड का हिस्सा नहीं है।

Guess the System.Drawing within the Mono.Android.dll is conflicting with the System.Drawing.dll which is being referenced by the iTextSharp

वहाँ Android के लिए कोई विधानसभा संघर्ष मोनो के बाद से करता एक System.Drawing.dll विधानसभा के साथ नहीं जहाज है। हालांकि कुछ प्रकार (उदा। Rectangle[F], Point[F] और Size[F]) शामिल हैं (एक अन्य असेंबली में) जो System.Drawing.* नामस्थानों का उपयोग करता है क्योंकि वे .NET डेवलपर्स के लिए सहायक (और जाने-माने) हैं।

+1

हाय उपयोग नहीं कर सका , मैंने अलग-अलग पुस्तकालयों का उपयोग करने की कोशिश की है जो केवल ** System.Drawing.dll ** का संदर्भ लेते हैं, जिसमें मेरी खुद की कस्टम लाइब्रेरी भी शामिल है, लेकिन एक ही समस्या बनी हुई है। इसके अलावा, मैंने ** सिस्टम का उपयोग करने की कोशिश की। ड्रॉइंग। dll ** एप्लिकेशन में यह दिखाया गया है ** _ बेनामी क्लास कलर _ ** क्लास कलर को System.Drawing.dll और Mono.An में घोषित किया गया था droid.dll की प्रणाली। नामकरण नाम, तो अन्य डीएलएस को संदर्भित करते समय यह समस्या हो सकती है, जब मैं एक डीएलएल का उपयोग करने का प्रयास करता हूं जिसमें ** Drawing.dll ** नहीं है यह ठीक काम करता है :( – Surya2089

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