2013-02-02 32 views
14

फिलहाल, मैं एक समस्या में भाग रहा हूं कि मैं Google पर समाधान के साथ हल करने में सक्षम नहीं हूं । अभी तक कुछ भी काम नहीं किया है। जब मैं लीप मोशन कोड संकलित करता हूं और नाओकी सी # लाइब्रेरी आयात करता हूं, तो यह ठीक काम करता है। जब मैं वास्तव में कोड की एक पंक्ति के साथ रोबोट से कनेक्ट करने का प्रयास करता हूं तो मेरा प्रोग्राम क्रैश हो जाता है। मेरा प्रोग्राम किसी भी सीपीयू के लिए निर्माण करने के लिए सेट है। । डीएलएस को लीप लाइब्रेरी के लिए और नाओक्यू लाइब्रेरी के लिए संदर्भित किया गया है, और .dlls को डीबग फ़ोल्डर और प्रोजेक्ट फ़ोल्डर में अच्छी माप के लिए रखा गया है। मुझे इस बात पर कोई फर्क नहीं पड़ता कि समस्या क्या है।नाओक्यूई और लीप समस्याएं: 'System.BadImageFormatException' प्रकार का एक अनचाहे अपवाद ... और फ़ाइल या असेंबली लोड नहीं कर सका

क्या कोई यहां इसे समझ सकता है? मैं यह काम करने के लिए बहुत खुश होगा।

यहाँ पहली त्रुटि संदेश है, यह तो मुझे पूछता तोड़ने या जारी रखने के लिए:

An unhandled exception of type 'System.BadImageFormatException' occurred in LeapCSharp.NET4.0.dll 

Additional information: Could not load file or assembly 'naoqi-dotnet4, Version=1.14.0.218, Culture=neutral, PublicKeyToken=b9b4e24bd78100d6' or one of its dependencies. An attempt was made to load a program with an incorrect format. 

किसी भी तरह से, इस कार्यक्रम दुर्घटनाओं। इस बिंदु पर कंसोल लॉग में यह पाठ है:

'NaoLeap.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_64\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll' 
'NaoLeap.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\WINDOWS\assembly\GAC_MSIL\Microsoft.VisualStudio.HostingProcess.Utilities\11.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.HostingProcess.Utilities.dll' 
'NaoLeap.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Windows.Forms\v4.0_4.0.0.0__b77a5c561934e089\System.Windows.Forms.dll' 
'NaoLeap.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\WINDOWS\assembly\GAC_MSIL\Microsoft.VisualStudio.HostingProcess.Utilities.Sync\11.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.HostingProcess.Utilities.Sync.dll' 
'NaoLeap.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll' 
'NaoLeap.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\WINDOWS\assembly\GAC_MSIL\Microsoft.VisualStudio.Debugger.Runtime\11.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.Debugger.Runtime.dll' 
'NaoLeap.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\Users\Grace\Documents\Visual Studio 2012\Projects\NaoLeap\NaoLeap\bin\Debug\NaoLeap.vshost.exe' 
'NaoLeap.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Core\v4.0_4.0.0.0__b77a5c561934e089\System.Core.dll' 
'NaoLeap.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Xml.Linq\v4.0_4.0.0.0__b77a5c561934e089\System.Xml.Linq.dll' 
'NaoLeap.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Data.DataSetExtensions\v4.0_4.0.0.0__b77a5c561934e089\System.Data.DataSetExtensions.dll' 
'NaoLeap.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\Microsoft.CSharp\v4.0_4.0.0.0__b03f5f7f11d50a3a\Microsoft.CSharp.dll' 
'NaoLeap.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_64\System.Data\v4.0_4.0.0.0__b77a5c561934e089\System.Data.dll' 
'NaoLeap.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Xml\v4.0_4.0.0.0__b77a5c561934e089\System.Xml.dll' 
The thread 'vshost.NotifyLoad' (0x440) has exited with code 0 (0x0). 
The thread '<No Name>' (0x1914) has exited with code 0 (0x0). 
The thread '<No Name>' (0xa90) has exited with code 0 (0x0). 
The thread 'vshost.LoadReference' (0x1a08) has exited with code 0 (0x0). 
'NaoLeap.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\Users\Grace\documents\visual studio 2012\Projects\NaoLeap\NaoLeap\bin\Debug\NaoLeap.exe', Symbols loaded. 
'NaoLeap.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Drawing\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Drawing.dll' 
'NaoLeap.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\Accessibility\v4.0_4.0.0.0__b03f5f7f11d50a3a\Accessibility.dll' 
'NaoLeap.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\Users\Grace\documents\visual studio 2012\Projects\NaoLeap\NaoLeap\bin\Debug\LeapCSharp.NET4.0.dll' 
A first chance exception of type 'System.BadImageFormatException' occurred in LeapCSharp.NET4.0.dll 
An unhandled exception of type 'System.BadImageFormatException' occurred in LeapCSharp.NET4.0.dll 
Additional information: Could not load file or assembly 'naoqi-dotnet4, Version=1.14.0.218, Culture=neutral, PublicKeyToken=b9b4e24bd78100d6' or one of its dependencies. An attempt was made to load a program with an incorrect format. 
'NaoLeap.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Configuration\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Configuration.dll' 
The program '[3484] NaoLeap.vshost.exe: Managed (v4.0.30319)' has exited with code 0 (0x0). 
The program '[3484] NaoLeap.vshost.exe: Program Trace' has exited with code 0 (0x0). 

मैंने fuslogvw का उपयोग करने का प्रयास किया। असफल असेंबली के लिए दो लॉग रिपोर्ट यहां दी गई हैं जब प्रोग्राम क्रैश होने के बाद fuslogvw को रीफ्रेश किया जाता है।

1)

<meta http-equiv="Content-Type" content="charset=unicode-1-1-utf-8"><!-- saved from url=(0015)assemblybinder: --><html><pre> 
*** Assembly Binder Log Entry (2/1/2013 @ 7:24:49 PM) *** 

The operation was successful. 
Bind result: hr = 0x0. The operation completed successfully. 

Assembly manager loaded from: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\clr.dll 
Running under executable C:\Users\Grace\Documents\Visual Studio 2012\Projects\NaoLeap\NaoLeap\bin\Debug\NaoLeap.vshost.exe 
--- A detailed error log follows. 

=== Pre-bind state information === 
LOG: User = Grace-PC\Grace 
LOG: DisplayName = Accessibility, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a 
(Fully-specified) 
LOG: Appbase = file:///C:/Users/Grace/documents/visual studio 2012/Projects/NaoLeap/NaoLeap/bin/Debug/ 
LOG: Initial PrivatePath = NULL 
LOG: Dynamic Base = NULL 
LOG: Cache Base = NULL 
LOG: AppName = NaoLeap.vshost.exe 
Calling assembly : System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089. 
=== 
LOG: Start validating all the dependencies. 
LOG: [Level 1]Start validating native image dependency mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089. 
WRN: No matching native image found. 

</pre></html> 

2)

<meta http-equiv="Content-Type" content="charset=unicode-1-1-utf-8"><!-- saved from url=(0015)assemblybinder: --><html><pre> 
*** Assembly Binder Log Entry (2/1/2013 @ 7:24:50 PM) *** 

The operation was successful. 
Bind result: hr = 0x0. The operation completed successfully. 

Assembly manager loaded from: C:\Windows\Microsoft.NET\Framework64\v4.0.30319\clr.dll 
Running under executable C:\Users\Grace\Documents\Visual Studio 2012\Projects\NaoLeap\NaoLeap\bin\Debug\NaoLeap.vshost.exe 
--- A detailed error log follows. 
=== Pre-bind state information === 
LOG: User = Grace-PC\Grace 
LOG: Where-ref bind. Location = C:\Users\Grace\Documents\Visual Studio 2012\Projects\NaoLeap\NaoLeap\bin\Debug\NaoLeap.exe 
LOG: Appbase = file:///C:/Users/Grace/documents/visual studio 2012/Projects/NaoLeap/NaoLeap/bin/Debug/ 
LOG: Initial PrivatePath = NULL 
LOG: Dynamic Base = NULL 
LOG: Cache Base = NULL 
LOG: AppName = NaoLeap.vshost.exe 
Calling assembly : (Unknown). 
=== 
WRN: Native image will not be probed in LoadFrom context. Native image will only be probed in default load context, like with Assembly.Load(). 

</pre></html> 
+0

आश्चर्यजनक रूप से अपने बनाम पुनरारंभ करने का प्रयास करें, यह मेरे साथ काम करता है !! –

उत्तर

34

फ़ाइल या विधानसभा 'Naoqi-dotnet4

vendor's documentation से बहुत स्पष्ट है लोड नहीं कर सका एनएओ देशी जिसमें सी ++ कोड और यह x86 (32-बिट कोड) को लक्षित करने के लिए बनाया जाना चाहिए। हालांकि आप 64-बिट मोड में अपना मुख्य EXE चला रहे हैं। BadImageFormatException परिणाम है, 64-बिट प्रक्रिया असेंबली लोड नहीं कर सकती है जिसमें 32-बिट देशी कोड होता है।

अपने EXE प्रोजेक्ट, गुण, बिल्ड टैब पर राइट-क्लिक करें। प्लेटफ़ॉर्म लक्ष्य को "x86" में बदलें।

+0

यह तय है! इससे पहले, मैं इसे परियोजना निर्माण सेटिंग्स में x86 में बदल रहा था। वास्तविक फिक्स तब था जब मैंने "प्रारंभ करें" डीबग बटन के बगल में "कॉन्फ़िगरेशन प्रबंधक ..." चुना और मंच को x86 में बदल दिया। –

+0

मुझे एक समान समस्या थी, Badimageformatexception के साथ, जहां मैंने एक बाहरी परियोजना जो प्लेटफार्म लक्ष्य x86 (मैं 64-बिट मशीन पर काम कर रहा हूं) के साथ निर्माण कर रहा था। - मैंने बाहरी परियोजना को 'किसी भी सीपीयू' के निर्माण के लिए सेट किया है, और सब अच्छा है :) – phareim

+1

** ** प्लेटफ़ॉर्म नाम के साथ टिंकर नहीं करें ** यह .NET प्रोजेक्ट के लिए प्रासंगिक नहीं है। केवल उस सेटिंग को मैंने दस्तावेज किया है। रिलीज कॉन्फ़िगरेशन के लिए इसे भी बदलना न भूलें। –

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

  • कोई संबंधित समस्या नहीं^_^