Mscorlib.XmlSerializers.DLL के लिए FileNotFoundException, जो अस्तित्व में नहीं है

मैं mscorelib.dll में किसी विशेष प्रकार को deserialize करने के लिए एक XmlSerializer का उपयोग कर रहा हूँ

XmlSerializer ser = new XmlSerializer( typeof( [.Net type in System] ) );
return ([.Net type in System]) ser.Deserialize( new StringReader( xmlValue ) );

असेंबली लोड होने पर यह एक पकड़ा FileNotFoundException फेंकता है:

"फाइल या असेंबली लोड नहीं हो सका   'Mscorlib.XmlSerializers,   संस्करण = 2.0.0.0, संस्कृति = तटस्थ,   PublicKeyToken = b77a5c561934e089 'या   इसकी निर्भरताओं में से एक। प्रणाली   निर्दिष्ट फ़ाइल नहीं मिल सका। "

FusionLog:

=== Pre-bind state information ===
LOG: User = ###
LOG: DisplayName = mscorlib.XmlSerializers, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=x86
 (Fully-specified)
LOG: Appbase = file:///C:/localdir
LOG: Initial PrivatePath = NULL
Calling assembly : System.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089.
===
LOG: This bind starts in default load context.
LOG: Using application configuration file: C:\localdir\bin\Debug\appname.vshost.exe.Config
LOG: Using machine configuration file from c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\config\machine.config.
LOG: Post-policy reference: mscorlib.XmlSerializers, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089, processorArchitecture=x86
LOG: Attempting download of new URL file:///C:/localdir/bin/Debug/mscorlib.XmlSerializers.DLL.
LOG: Attempting download of new URL file:///C:/localdir/bin/Debug/mscorlib.XmlSerializers/mscorlib.XmlSerializers.DLL.
LOG: Attempting download of new URL file:///C:/localdir/bin/Debug/mscorlib.XmlSerializers.EXE.
LOG: Attempting download of new URL file:///C:/localdir/bin/Debug/mscorlib.XmlSerializers/mscorlib.XmlSerializers.EXE.

जहां तक ​​मुझे पता है कि कोई mscorlib.XmlSerializers.DLL नहीं है, मुझे लगता है कि डीएलएल नाम में मधुमक्खी ऑटो उत्पन्न होता है .Net serializer की तलाश में है।

Serializations अनुकूलित करने के लिए संकलित करते समय आपके पास myApplication.XmlSerializers.DLL बनाने का विकल्प होता है, इसलिए मुझे लगता है कि यह फ्रेमवर्क की जांच का हिस्सा है।

समस्या यह है कि ऐसा लगता है कि यह एप्लिकेशन लोड करने में देरी हो रही है - ऐसा लगता है कि इस बिंदु पर कुछ सेकंड के लिए लटका हुआ है।

कोई विचार यह कैसे बचें या इसे तेज करें?

0
ro fr bn
जिस प्रकार से मैं काम कर रहा हूं वह है RSAParameters जिसका उपयोग कुछ सिस्टम क्रिप्टोग्राफी सामान के रूप में किया जा रहा है। मैंने एन्क्रिप्टेड कुंजी को किसी अन्य माध्यम से संग्रहीत करके और एक नया आरएसएपीएमिटर स्वयं बनाकर इस पर काम किया है। यह serialise (यानी एन्क्रिप्शन/डिक्रिप्शन कुंजी) के लिए अपेक्षाकृत आम बात की तरह लगता है।
जोड़ा लेखक Keith, स्रोत
परीक्षण उपकरण Ranorex चलाने की कोशिश करते समय मैं इस समस्या में भाग गया है। मेरे पास अभी कामकाज है लेकिन इसे ठीक करने में सक्षम नहीं था और उनके समर्थन ने अभी तक मुझसे संपर्क नहीं किया है। : - /
जोड़ा लेखक Dan Csharpster, स्रोत

2 उत्तर

देरी इसलिए है क्योंकि, कस्टम सीरिएलाइज़र डीएल को खोजने में असमर्थ होने के कारण, प्रणाली फ्लाई पर बराबर कोड (जो बहुत समय लेने वाली है) का निर्माण कर रही है।

देरी से बचने का तरीका सिस्टम को डीएलएल बनाना है, और सुनिश्चित करें कि यह .EXE के लिए उपलब्ध है - क्या आपने यह कोशिश की है?

0
जोड़ा
धन्यवाद @ विल डीन, यह थोड़ी सी है जो मैंने सोचा, लेकिन इसके लिए भी बहुत धीमी लगती है। अगर यह मेरी खुद की असेंबली थी तो धारावाहिक असेंबली बनाना कोई मुद्दा नहीं होना चाहिए, लेकिन मैं mscorlib के लिए ऐसा कैसे करूं?
जोड़ा लेखक Keith, स्रोत

मैं अब अनुमान लगा रहा हूँ। परंतु:

  1. सिस्टम पूरे mscorlib के लिए एक धारावाहिक उत्पन्न कर सकता है, जो बहुत धीमा हो सकता है।
  2. आप सिस्टम प्रकार को अपने प्रकार में लपेटकर और इसके बजाय क्रमबद्ध करके इसे से बच सकते हैं - इसके बाद आपको अपनी असेंबली के लिए एक धारावाहिक प्राप्त होगा।
  3. आप ss.exe के साथ mscorlib के लिए serializer बनाने में सक्षम हो सकते हैं, जो VS में एकीकृत होने से पहले serializer dlls बनाने का पुराना तरीका था।
0
जोड़ा
एक बार फिर धन्यवाद। मुझे लगता है कि यह (1) है, लेकिन मैं नहीं कर सकता (2) क्योंकि यह एक संरचना है। मैं कोशिश करूंगा (3)
जोड़ा लेखक Keith, स्रोत
> लेकिन मैं नहीं कर सकता (2) क्योंकि यह एक संरचना है। मुझे पता है कि मैं यहां मंद हूं, लेकिन संरचना के साथ समस्या क्या है - जाहिर है कि कुछ अतिरिक्त प्रतिलिपि चल रही हो सकती है, लेकिन एक्सएमएल क्रमबद्धता की लागत के सापेक्ष यह असंभव लगता है कि यह बहुत महत्वपूर्ण है। System.xx प्रकार क्या है?
जोड़ा लेखक Will Dean, स्रोत