2016-03-03 9 views
12

जब ComponentSerializationService का उपयोग कर deserialize की कोशिश कर रहा है, त्रुटियों भर जाती है कि संदर्भ नहीं पाए गए:SerializationStore नहीं मिल संदर्भ

नहीं मिल सका प्रकार 'System.Drawing जैसे:

public ICollection Deserialize(object serializationData) 
{ 
    var serializationStore = serializationData as SerializationStore; 
    var componentSerializationService = _serviceProvider.GetService(typeof(ComponentSerializationService)) as ComponentSerializationService; 
    var collection = componentSerializationService.Deserialize(serializationStore); 
} 

त्रुटियाँ। आकार '। कृपया सुनिश्चित करें कि इस प्रकार वाले असेंबली का संदर्भ दिया गया है। यदि यह प्रकार आपके विकास प्रोजेक्ट का हिस्सा है, तो सुनिश्चित करें कि प्रोजेक्ट आपके वर्तमान प्लेटफ़ॉर्म या किसी भी CPU के लिए सेटिंग का उपयोग करके सफलतापूर्वक बनाया गया है।

यहां मैं एक बटन नियंत्रण से गुज़र चुका हूं और आकार की संपत्ति सेट कर चुका हूं।

+0

अच्छा होगा यदि आप कम से कम जो कर रहे हैं उसका पूरा उदाहरण प्रदान करते हैं। – Evk

+0

क्या सीरियलाइजेशन/deserialization seprated परियोजनाओं में होता है? – Damirchi

+0

क्या आपका आवेदन डब्ल्यूपीएफ या विनफॉर्म है? –

उत्तर

1

मुझे याद है कि मुझे कुछ समय पहले सिस्टम "ड्रॉइंग साइज" नहीं मिला था और मैंने इसे ठीक करने में कई घंटे बिताए थे। मुझे वास्तव में याद नहीं है कि आखिर में यह क्या तय हुआ था और मुझे नहीं लगता कि Any CPU चुनना एक समस्या है। यद्यपि यह आपके जैसा ही संदर्भ नहीं था, फिर भी मुझे लगता है कि यह निम्नलिखित कोशिश करने लायक है क्योंकि यह आपके समाधान के अंदर कई परियोजनाओं से System.Drawing.dll के विभिन्न संस्करणों के संदर्भ में एक समस्या हो सकती है।

इस प्रकार, उपयोग किए गए संस्करणों में असंगतता के समाधान को दोबारा जांचने का प्रयास करें (भले ही packages.config प्रविष्टियां ठीक दिख रही हों) और सुनिश्चित करें कि वे सभी एक ही संस्करण (उदाहरण के लिए .NET461) का संदर्भ दे रहे हैं।

मेरे मामले में, समाधान में 30+ पुस्तकालयों में से कुछ .net45 का उपयोग करने के लिए बाहर निकले; मैंने इसे ठीक करने के लिए लक्ष्य फ्रेमवर्क माइग्रेटर नामक टूल का उपयोग किया। आप इसे टूल्स => एक्सटेंशन और अपडेट्स => ऑनलाइन => विजुअल स्टूडियो गैलरी

और फिर खोज फ़ील्ड में लक्ष्य फ्रेमवर्क माइग्रेटर टाइप कर सकते हैं।

मुझे याद है, मैंने समस्या को ठीक करने के अपने प्रयासों के दौरान .NET से 4.6.1 को भी अपग्रेड किया है ... शायद आप इसे भी आजमा सकते हैं ... लेकिन किसी भी मामले में अपने स्वयं के पुस्तकालयों के लिए लक्ष्य फ्रेमवर्क माइग्रेटर चला रहा है (और रास्ते में वीएस 2015 को पुनरारंभ करना) निश्चित रूप से एक कोशिश के लायक है।

शुभकामनाएं!

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