2008-10-07 25 views
20

मैंने पहले NUnit का उपयोग किया है, लेकिन थोड़ी देर में नहीं, और इस मशीन पर कभी नहीं। मैंने प्रोग्राम फ़ाइलों के तहत संस्करण 2.4.8 को अनजिप किया है, और मेरे परीक्षण लोड करने का प्रयास करते समय मुझे यह त्रुटि मिल रही है।NUnit असेंबली नहीं मिला

फ़ाइल या विधानसभा लोड नहीं कर सका nunit.framework, संस्करण = 2.4.8.0, संस्कृति = तटस्थ, PublicKeyToken = 96d09a1eb7f44a77 'या अपनी निर्भरता में से एक। सिस्टम निर्दिष्ट फ़ाइल नहीं ढूंढ सकता **

समस्या को सरल बनाने के लिए, मैंने सबसे बुनियादी संभव परीक्षण फ़ाइल संकलित की है।

using NUnit.Framework; 

namespace test 
{ 
    [TestFixture] 
    public class Tester 
    { 
     [Test] 
     public void ATest() 
     { 
      Assert.IsTrue(false, "At least the test ran!"); 
     } 
    } 
} 

मैं जोड़ दिया है "C: \ Program Files \ NUnit-2.4.8 निवल 2.0 \ बिन" मेरे पथ (और रिबूट) के लिए। ध्यान दें कि यदि मुझे लगता है कि फ़ोल्डर में परीक्षण विधानसभा कॉपी कर उन्हें

 
C:\Program Files\NUnit-2.4.8-net-2.0\bin>nunit-console test.dll 

काम करता है, लेकिन

 
C:\Program Files\NUnit-2.4.8-net-2.0\bin>nunit-console c:\dev\nunit_test\test.dll 

और

 
C:\dev\nunit_test>nunit_console test.dll 

उपरोक्त त्रुटि के साथ विफल।

संभवतः मैं अपने प्रोजेक्ट के बिन फ़ोल्डर में NUnit.Framework dll की प्रतिलिपि बनाकर इसे प्राप्त कर सकता हूं, लेकिन मुझे अतीत में ऐसा करने की याद नहीं है। इसके अलावा, मुझे जीयूआई में एक ही त्रुटि मिलती है। क्या जीयूआई नहीं जानता कि ढांचा कहाँ स्थित है (यानी, एक ही फ़ोल्डर में)?

@ स्कॉट, मैं विजुअल स्टूडियो का उपयोग नहीं कर रहा हूं। मैं परीक्षण परियोजना संकलित करने के लिए निम्न पंक्ति का उपयोग करता हूं।

 
%windir%\Microsoft.NET\Framework\v2.0.50727\csc.exe /r:"C:\Program Files\NUnit-2.4.8-net-2.0\bin\nunit.framework.dll" /t:library /out:test.dll test.cs 

@devio, मैंने उसी परिणाम के साथ एमएसआई और ज़िप दोनों की कोशिश की।

+1

बेवकूफ सवाल है, लेकिन आपने अपने परीक्षण में NUnit का संदर्भ जोड़ा है परियोजना? – JamesSugrue

उत्तर

9

यदि आप NUnit-2.4.8-net-2.0.msi का उपयोग कर स्थापित करते हैं, तो NUnit असेंबली को GAC में जोड़ा जाता है।

आप VS2005 कमांड प्रॉम्प्ट से runnig gacutil द्वारा मैन्युअल रूप से पुनर्स्थापित भी कर सकते हैं।

+0

किसी भी कारण से, मुझे स्थापना के बाद भी यह समस्या थी, लेकिन मैंने स्वयं को जीएसी में असेंबली जोड़ दी, और इसने चाल की है। – harpo

+0

धन्यवाद! 2.4.8 काम कर रहा है। – axk

+1

बस एक अपडेट, यह अभी भी विंडोज 7 पर न्यूटिट 2.5.7 के मामले में है। मैं \ windows \ assembly में nunit.framework को छोड़कर परीक्षण कर सकता हूं। – harpo

12

सुनिश्चित करें कि आपने nunit.framework का संदर्भ जोड़ा है। यदि आपके पास है, तो सुनिश्चित करें कि उस संदर्भ के गुणों में प्रतिलिपि स्थानीय संपत्ति सेट की गई है।

11

मुझे एक ही समस्या थी और मैंने NUnit-2.4.8-net-2.0.msi का उपयोग करके स्थापित किया था। ऊपर "गाक में जोड़ें" टिप्पणी पर विस्तार, यहाँ मैं क्या किया है:

  • अपने खोलें "दृश्य Sudio कमांड प्रॉम्प्ट (आम तौर पर: सुनिश्चित करें कि GACUtil अपने पथ में है) और: सीडी" C: \ Program Files \ NUnit 2.4.8 \ बिन "

  • गाक से अपने nunit प्रविष्टियों अपंजीकृत

    आप गाक में पंजीकृत nunit प्रविष्टियों का पता लगाकर ऐसा कर सकते हैं:।

GACUtil/एल | लगता है/मैं "nunit"> temp.bat & & नोटपैड temp.bat

  • nunit.core और nunit तैयार करें।"GACUtil/UF", यानी साथ ढांचा लाइनों:

GACUtil/UF nunit.core, संस्करण = 2.4.2.0, संस्कृति = तटस्थ, PublicKeyToken = 96d09a1eb7f44a77

GACUtil/UF nunit.framework, संस्करण = 2.4.2.0, संस्कृति = तटस्थ, PublicKeyToken = 96d09a1eb7f44a77

  • अपने बल्ले फ़ाइल चलाएं उन्हें हटाने के लिए: temp.bat

  • रजिस्टर nunit DLLs आप की जरूरत:

GACUtil/मैं nunit.core.dll

GACUtil/मैं nunit.framework.dll

+0

मुझे एक ही समस्या थी और जीएसी की जांच से पता चला कि यह गायब था। इसे जोड़ने के बाद मुद्दा चला गया है। – neleus

1

मैं आज इस त्रुटि संदेश मिल गया है जब मैं किसी मौजूदा NUnit के लिए एक नया परीक्षण विधानसभा जोड़ने की कोशिश की परीक्षण परियोजना। ऐसा लगता है कि मेरी परीक्षण परियोजनाओं में समान nunit.framework.dll असेंबली के लिए कई पथ संदर्भ थे।

यदि आपके एनयूनीट प्रोजेक्ट में एक से अधिक परीक्षण असेंबली हैं, तो आप अपनी परीक्षण परियोजनाओं में nunit.framework संदर्भ की पथ संपत्ति को सत्यापित करना चाहेंगे। एक बार जब मैंने उन्हें मैच बना दिया, तो त्रुटि संदेश चला गया।

2

ध्यान दें कि वर्तमान NUnit स्थापना (2.5.10) स्वचालित रूप से जीएसी पर पंजीकृत नहीं है। यदि आपको जीएसी का उपयोग करना होगा, तो इसे gacutil/i के माध्यम से पंजीकृत करें जहां nunitframeworkpath आमतौर पर% प्रोग्राम फ़ाइलें% \ NUnit \ net-2.0 \ framework \ nunit-framework

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