मैंने अपने सॉफ्टवेयर को बनाम 2008/.NET 3.5 से बनाम 2010/.NET 4.0 में अपग्रेड किया। सभी तृतीय पक्ष पुस्तकालय (सबसे प्रासंगिक: 2.1.2 या 3.0.0, nunit 2.5.2 nhibernate) बनाम अभी भी बनाम 2008 का उपयोग कर संकलित हैं। जब मैं अपने सॉफ़्टवेयर के डीबग बिल्ड के लिए यूनिट परीक्षण चलाता हूं, तो सब कुछ ठीक काम करता है। रिलीज बिल्ड पर, 228 परीक्षणों में से 33 पर अपनिट रिपोर्ट अपवाद: System.InvalidProgramException : Common Language Runtime detected an invalid program.
यह हमेशा नॉनिट-कंसोल और रिशेर्पर 5.0 टेस्ट रनर दोनों के लिए एक ही परीक्षण पर होता है। जब मैं उन्हें रिशेर्पर "डीबग यूनिट-टेस्ट" कमांड का उपयोग करके चलाता हूं, तो सभी परीक्षण पास होते हैं। इससे कोई फर्क नहीं पड़ता कि मैं व्यक्तिगत रूप से परीक्षण चलाता हूं या बैच करता हूं। अपवाद हमेशा निबर्ननेट क्वेरी कॉल के पास होता है, लेकिन मैं निश्चित रूप से कह नहीं सकता क्योंकि रिलीज बिल्ड स्टैक ट्रेस कुछ हद तक स्पैस है। यह निबर्ननेट बाइटकोड जनरेटर पर निर्भर नहीं है, महल और लिनफू के लिए एक ही अपवाद दिखाई देता है। क्या किसी को यह पता है कि इसे कैसे डिबग करना है?नुनिट: "आम भाषा रनटाइम एक अवैध प्रोग्राम का पता चला।"
संपादित करें: Spring.ET को हटाने से इस मुद्दे पर कोई प्रभाव नहीं पड़ा।
संपादित करें: जब मैं पूर्ण बजाय pdb को रिलीज config डिबग आउटपुट स्विच केवल और अनुकूलन कोड चेकबॉक्स को निष्क्रिय, अपवाद गायब हो जाता है। दोनों सेटिंग्स की आवश्यकता है, अगर मैं उनमें से केवल एक को बदलता हूं तो बग बनी हुई है। हालांकि, परीक्षणों का एक अलग सेट विफल रहता है अगर मैं केवल एक बदलता हूं। सभी कक्षा पुस्तकालयों को के लिए संकलित किया गया है कोई भी CPU।
क्या आप जांच सकते हैं कि प्रोजेक्ट की रिलीज और डीबग कॉन्फ़िगरेशन भिन्न हैं या नहीं? मैंने कुछ मामलों को देखा है, जहां कोई सिर्फ कॉन्फ़िगरेशन डीबग करने के लिए एक्स जोड़ता है ... रिलीज कॉन्फ़िगरेशन स्टेल छोड़कर .. – Gishu
@ गिशू: मैं डीबग आउटपुट में अंतर का पता लगाने और कोड सेटिंग्स को अनुकूलित करने में सक्षम था - कोई अन्य सेटिंग्स प्रतीत नहीं होती इस मुद्दे को प्रभावित करें। –
हम्म .. यहां कोई निश्चित दिशा नहीं है। कुछ सरसरी खोजों से, ऐसा लगता है कि यह तृतीय पक्ष डीएल कॉल से संबंधित है। http://bit.ly/g3iwnK स्टैकट्रैक प्राप्त करने और सही एमएस फोरम पर पोस्ट करने का प्रयास करें- एक आला क्षेत्र (बिल्कुल एसओ का फोर्टे नहीं) – Gishu