2011-06-17 14 views
19

पर काम नहीं कर रहा है मैं यूनिट परीक्षण के लिए नया हूं और यह आईएम वाई पहली बार एनयूनीट की कोशिश कर रहा है।नूनिट विंडोज 7 में सभी

मेरा पर्यावरण विंडोज 7 पेशेवर 64 बिट, विजुअल स्टूडियो 2010 है और मैं सी # में विंडोज़ एप्लिकेशन पर काम कर रहा हूं। मैंने अभी एक एकल टेस्ट लिखा है और मैं एनयूएनआईटी जीयूआई का उपयोग कर परीक्षण चलाने की कोशिश कर रहा हूं।

मेरा एनयूनिट संस्करण 2.5.10 है, मैंने इसके नीचे 4 अन्य संस्करणों की भी कोशिश की और मुझे एक ही त्रुटि मिल गई।

त्रुटि है

"System.BadImageFormatException:। फ़ाइल या विधानसभा लोड नहीं कर सका 'datalogger, संस्करण = 1.0.0.0, संस्कृति = तटस्थ, PublicKeyToken = अशक्त' या अपनी निर्भरता में से एक का प्रयास किया गया एक गलत प्रारूप के साथ एक प्रोग्राम लोड करने के लिए बनाया गया।

आप उस संस्करण की तुलना में सीएलआर के बाद के संस्करण के साथ बनाई गई असेंबली को लोड करने का प्रयास कर रहे हैं जिसके तहत एनयूनीट वर्तमान में चल रहा है (2.0.50727) या 64 लोड करने का प्रयास कर रहा है 32-बिट प्रक्रिया में -बिटी असेंबली।

आगे के लिए जानकारी, अपवाद विवरण मेनू आइटम का उपयोग करें। "

मैंने क्या किया है, मैंने प्रोजेक्ट के डीबग फ़ोल्डर में एनयूएनटी जीयूआई में एप्लिकेशन एक्सई लोड किया है। (मैंने इसका उल्लेख किया क्योंकि मुझे संदेह है कि यह गलत तरीका हो सकता है)। इस पर कोई मदद मेरे लिए उपयोगी होगी।

+0

क्या आपने अपना कोई भी एप्लिकेशन कोड सहित एक बहुत ही सरल परीक्षण लिखने का प्रयास किया है? क्या आपके एप्लिकेशन कोड का डेटा लॉगर हिस्सा है? –

+0

इसे देखें http://stackoverflow.com/questions/4105398/how-do-i-investigate-the-course-of-a-tests-assembly-refusing-to-load-in-nunit –

+0

क्या आपके पास कोई असम्बद्ध नहीं है आपके सिस्टम में कोड? यदि ऐसा है, तो 32/64 जारी करने के लिए जांचें। –

उत्तर

36

मुझे इस समस्या का सामना करना पड़ा। आपको आमतौर पर सी: \ प्रोग्राम फ़ाइलें (x86) \ NUnit 2.5.10 \ bin \ net-2.0 \ nunit-x86.exe पर स्थित अनुप्रयोग के x86 संस्करण का उपयोग करने की आवश्यकता है और यह अपवाद नहीं फेंकता है ।

+0

.... मेरी मशीन 64 बिट होने पर मुझे नुनिट के 32 बिट संस्करण का उपयोग क्यों करना है। गर्दन में पूरा दर्द। एक आकर्षण की तरह काम किया, thx। –

2

मैंने कहीं पढ़ा है कि यदि हम विंडोज 7 64 बिट का उपयोग करते हैं और x86 के लिए ऐप्स विकसित करते हैं तो उसी फ़ोल्डर में nunitx86.exe नामक एक अलग जीयू का उपयोग किया जाना चाहिए। मैंने ऐसा किया और यह काम करता है।