यूनिट परीक्षण चलाते समय, मेरे पोर्टेबल रनटाइम लाइब्रेरी डीएलएल में किसी भी विधि को कॉल करने से "सिस्टम। रिफ्लेक्शन। टाइप एक्सटेन्शंस" संदर्भित करता है, "सिस्टम" के लिए खोज करते हुए फ़ाइल नॉटफाउंड अपवाद उत्पन्न करता है .Reflection.TypeExtensions "। त्रुटि तब नहीं होती है जब एक ही कोड को Windows 10 यूनिवर्सल ऐप में निष्पादित किया जाता है।विंडोज 10 यूनिवर्सल विंडोज लाइब्रेरी में बाइंडिंगफ्लैग प्रकार का संदर्भ देते समय असेंबली लोड करने में असमर्थ
प्रोजेक्ट एक सी # पोर्टेबल रनटाइम लाइब्रेरी है, जो .NET Framework 4.6 और Windows Universal 10.0 का समर्थन करने के लिए कॉन्फ़िगर किया गया है। टेस्ट प्रोजेक्ट को .NET Framework 4.6 का उपयोग करने के लिए कॉन्फ़िगर किया गया है।
जब भी मैं सिस्टम का उपयोग करने वाली विधि को कॉल करने का प्रयास करता हूं। Reflection.BindingFlags प्रकार, मुझे निम्न अपवाद मिलता है। अपवाद तब होता है जब कॉल शुरू होता है (संभवतः फ़ंक्शन को jit-ing करते समय)।
Test method Sfx.Test.SignalExpressionTest.TestAddExpressions threw exception:
System.IO.FileNotFoundException: Could not load file or assembly 'System.Reflection.TypeExtensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.=== Pre-bind state information ===
LOG: DisplayName = System.Reflection.TypeExtensions, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
(Fully-specified)
मैं इसे देखता हूं, बदसूरत बग। निदान करने के लिए मुश्किल है,।नेटकोर निर्भरता अब और उलझन में असंभव है। कामकाज आपकी परियोजना में Nuget पैकेज जोड़ने के लिए है। –
मुझे यह भी मिला (यूनिट टेस्ट इश्यू? मैं यूनिट टेस्ट भी चला रहा हूं): https://social.msdn.microsoft.com/Forums/windowshardware/en-US/37f248bb-c45c-4b17-ae45-45913e7ce4b8/portable -class-library-fails-to-jit-when-referencing-systemreflectionbindingflags-when-running? forum = vsunittest – eschneider
यह बिल्कुल सही समस्या है। यह मुझे स्पष्ट नहीं है कि आप Nuget पैकेज क्यों नहीं जोड़ना चाहते हैं। ऐसा लगता है कि यह 15 जनवरी को मेलिनो से प्रतिबद्धता से बोर्कन मिला जिसने बाइंडिंगफ्लैग को स्थानांतरित किया। बस बग की रिपोर्ट करें, उसे जाने के लिए [इस वेब पेज] (https://github.com/dotnet/corefx/issues) पर नया समस्या बटन क्लिक करें। ध्यान रखें कि इस तरह की बग बहुत सामान्य हैं, कोरफैक्स तेजी से आगे बढ़ रहा है और मुश्किल से परीक्षण किया जाता है। आप अपनी पीठ में तीरों के साथ अग्रणी हैं। –