2013-09-04 14 views
5

Visual Studio 2010 çözüm C DLL ve C DLL çağırır C# projesi vardır. Çözüm, 32 bit Windows 7 Pro bilgisayarında oluşturulduğunda tamam çalışıyor. 64-bit Windows 7 Pro üzerinde , tamam kurar fakat çalıştırdığınızda, C# hata DLL içinde işlevini çağırır ve alır:"64 bit bilgisayarlarda buildint sonra" System.BadImageFormatException "türünde bir ilk şans istisnası

A first chance exception of type 'System.BadImageFormatException' 

Çözüm Yapılandırma Yöneticisi ayarları şunlardır:

<DLL project> Platform = Win32  (<<< no option to change to "Any CPU") 
<C# project> Platform = "Any CPU" 

aşağıda çıkış olduğu:

  1. Cı DLL YAPI ÇIKIŞ

  2. C# YAPI ÇIKIŞ

  3. dönem çıktı

Cı DLL YAPI ÇIKIŞ:

1>------ Rebuild All started: Project: Ultrasound_Frame_Grabber, Configuration: Debug Win32 ------ 
1> Processing ..\..\..\include\USGFWSDK\include\Usgfw2.idl 
1> Usgfw2.idl 
1> Processing C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\oaidl.idl 
1> oaidl.idl 
1> Processing C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\objidl.idl 
1> objidl.idl 
1> Processing C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\unknwn.idl 
1> unknwn.idl 
1> Processing C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\wtypes.idl 
1> wtypes.idl 
1> Processing C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\basetsd.h 
1> basetsd.h 
1> Processing C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\guiddef.h 
1> guiddef.h 
1> Processing C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\ocidl.idl 
1> ocidl.idl 
1> Processing C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\oleidl.idl 
1> oleidl.idl 
1> Processing C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\servprov.idl 
1> servprov.idl 
1> Processing C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\urlmon.idl 
1> urlmon.idl 
1> Processing C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\msxml.idl 
1> msxml.idl 
1> Processing C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\strmif.idl 
1> strmif.idl 
1> Processing C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\control.odl 
1> control.odl 
1> Processing C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\oaidl.acf 
1> oaidl.acf 
1> Processing C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\ocidl.acf 
1> ocidl.acf 
1> stdafx.cpp 
1> DIBSectn.cpp 
1> sample.cpp 
1> sampleDlg.cpp 
1> Ultrasound_Frame_Grabber.cpp 
1> Generating Code... 
1> Usgfw2_i.c 
1> .NETFramework,Version=v4.0.AssemblyAttributes.cpp 
1>  Creating library C:\Primary\PROJECTS\VasoNova\WORK\Win7 VPS\Debug\Ultrasound_Frame_Grabber.lib and object C:\Primary\PROJECTS\VasoNova\WORK\Win7 VPS\Debug\Ultrasound_Frame_Grabber.exp 
1>strmbasd.lib(mtype.obj) : warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/INCREMENTAL:NO' specification 
1> sample.vcxproj -> C:\Primary\PROJECTS\VasoNova\WORK\Win7 VPS\Debug\Ultrasound_Frame_Grabber.dll 
========== Rebuild All: 1 succeeded, 0 failed, 0 skipped ========== 

2), C# YAPI ÇIKIŞ:

1>------ Skipped Rebuild All: Project: VNMath, Configuration: Debug Win32 ------ 
1>Project not selected to build for this solution configuration 
2>------ Skipped Rebuild All: Project: GuiManager, Configuration: Debug Any CPU ------ 
2>Project not selected to build for this solution configuration 
3>------ Rebuild All started: Project: Ultrasound_Frame_Grabber, Configuration: Debug Win32 ------ 
4>------ Skipped Rebuild All: Project: VNCommon, Configuration: Debug Any CPU ------ 
4>Project not selected to build for this solution configuration 
5>------ Skipped Rebuild All: Project: AudioUtility, Configuration: Debug Any CPU ------ 
5>Project not selected to build for this solution configuration 
6>------ Skipped Rebuild All: Project: VNDevices, Configuration: Debug Any CPU ------ 
6>Project not selected to build for this solution configuration 
7>------ Skipped Rebuild All: Project: SimpleRPC, Configuration: Debug Any CPU ------ 
7>Project not selected to build for this solution configuration 
8>------ Skipped Rebuild All: Project: VNSockCommunication, Configuration: Debug Any CPU ------ 
8>Project not selected to build for this solution configuration 
9>------ Skipped Rebuild All: Project: PdfSharp, Configuration: Debug Any CPU ------ 
9>Project not selected to build for this solution configuration 
10>------ Skipped Rebuild All: Project: VNUserControls, Configuration: Debug Any CPU ------ 
10>Project not selected to build for this solution configuration 
11>------ Skipped Rebuild All: Project: GuiServer, Configuration: Debug Any CPU ------ 
11>Project not selected to build for this solution configuration 
3> Processing ..\..\..\include\USGFWSDK\include\Usgfw2.idl 
3> Usgfw2.idl 
3> Processing C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\oaidl.idl 
3> oaidl.idl 
3> Processing C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\objidl.idl 
3> objidl.idl 
3> Processing C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\unknwn.idl 
3> unknwn.idl 
3> Processing C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\wtypes.idl 
3> wtypes.idl 
3> Processing C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\basetsd.h 
3> basetsd.h 
3> Processing C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\guiddef.h 
3> guiddef.h 
3> Processing C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\ocidl.idl 
3> ocidl.idl 
3> Processing C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\oleidl.idl 
3> oleidl.idl 
3> Processing C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\servprov.idl 
3> servprov.idl 
3> Processing C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\urlmon.idl 
3> urlmon.idl 
3> Processing C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\msxml.idl 
3> msxml.idl 
3> Processing C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\strmif.idl 
3> strmif.idl 
3> Processing C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\control.odl 
3> control.odl 
3> Processing C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\oaidl.acf 
3> oaidl.acf 
3> Processing C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\ocidl.acf 
3> ocidl.acf 
3> stdafx.cpp 
3> DIBSectn.cpp 
3> sample.cpp 
3> sampleDlg.cpp 
3> Ultrasound_Frame_Grabber.cpp 
3> Generating Code... 
3> Usgfw2_i.c 
3> .NETFramework,Version=v4.0.AssemblyAttributes.cpp 
3>  Creating library C:\Primary\PROJECTS\my_project\WORK\Win7 VPS\Debug\Ultrasound_Frame_Grabber.lib and object C:\Primary\PROJECTS\my_project\WORK\Win7 VPS\Debug\Ultrasound_Frame_Grabber.exp 
3>strmbasd.lib(mtype.obj) : warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/INCREMENTAL:NO' specification 
3> sample.vcxproj -> C:\Primary\PROJECTS\my_project\WORK\Win7 VPS\Debug\Ultrasound_Frame_Grabber.dll 
12>------ Rebuild All started: Project: MY_APP, Configuration: Debug Any CPU ------ 
C:\Primary\PROJECTS\my_project\WORK\Win7 VPS\MY_APP\FrmMY_APP.cs(291,4): warning CS0162: Unreachable code detected 
C:\Primary\PROJECTS\my_project\WORK\Win7 VPS\MY_APP\FrmMY_APP.cs(441,4): warning CS0164: This label has not been referenced 
C:\Primary\PROJECTS\my_project\WORK\Win7 VPS\MY_APP\FrmMY_APP.cs(1276,13): warning CS0219: The variable 'exportFrmIsUp' is assigned but its value is never used 
C:\Primary\PROJECTS\my_project\WORK\Win7 VPS\MY_APP\FrmMY_APP.cs(91,66): warning CS0067: The event 'VN.Forms.MY_APPForm.m_eventTabletConnectionStatusChanged' is never used 

Compile complete -- 0 errors, 4 warnings 
12> MY_APP -> C:\Primary\PROJECTS\my_project\WORK\Win7 VPS\MY_APP\bin\Debug\MY_APP.exe 
12> C:\Primary\PROJECTS\my_project\WORK\Win7 VPS\\CommsLibrary\Common.Logging.dll 
12> C:\Primary\PROJECTS\my_project\WORK\Win7 VPS\\CommsLibrary\Common.Logging.Log4Net.dll 
12> C:\Primary\PROJECTS\my_project\WORK\Win7 VPS\\CommsLibrary\DistributedFileSystem.dll 
12> C:\Primary\PROJECTS\my_project\WORK\Win7 VPS\\CommsLibrary\ICSharpCode.SharpZipLib.dll 
12> C:\Primary\PROJECTS\my_project\WORK\Win7 VPS\\CommsLibrary\libMobiledevice.dll 
12> C:\Primary\PROJECTS\my_project\WORK\Win7 VPS\\CommsLibrary\log4net.config 
12> C:\Primary\PROJECTS\my_project\WORK\Win7 VPS\\CommsLibrary\log4net.dll 
12> C:\Primary\PROJECTS\my_project\WORK\Win7 VPS\\CommsLibrary\NetworkCommsDotNet.dll 
12> C:\Primary\PROJECTS\my_project\WORK\Win7 VPS\\CommsLibrary\protobuf-net.dll 
12> C:\Primary\PROJECTS\my_project\WORK\Win7 VPS\\CommsLibrary\QuickLZCompressor.dll 
12> C:\Primary\PROJECTS\my_project\WORK\Win7 VPS\\CommsLibrary\SerializerBase.dll 
12> C:\Primary\PROJECTS\my_project\WORK\Win7 VPS\\CommsLibrary\SevenZipLZMACompressor.dll 
12> C:\Primary\PROJECTS\my_project\WORK\Win7 VPS\\CommsLibrary\SharpZipLibCompressor.dll 
12>   13 file(s) copied. 
========== Rebuild All: 2 succeeded, 0 failed, 10 skipped ========== 

3) çalışma çıktısı:

'MY_APP.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_64\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled. 
'MY_APP.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\assembly\GAC_MSIL\Microsoft.VisualStudio.HostingProcess.Utilities\10.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.HostingProcess.Utilities.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled. 
'MY_APP.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', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled. 
'MY_APP.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', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled. 
'MY_APP.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled. 
'MY_APP.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\assembly\GAC_MSIL\Microsoft.VisualStudio.HostingProcess.Utilities.Sync\10.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.HostingProcess.Utilities.Sync.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled. 
'MY_APP.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\assembly\GAC_MSIL\Microsoft.VisualStudio.Debugger.Runtime\10.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualStudio.Debugger.Runtime.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled. 
'MY_APP.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\Primary\PROJECTS\VasoNova\WORK\Win7 VPS\MY_APPG4\bin\Debug\MY_APP.vshost.exe', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled. 
'MY_APP.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', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled. 
'MY_APP.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', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled. 
'MY_APP.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', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled. 
'MY_APP.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Deployment\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.Deployment.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled. 
'MY_APP.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.ServiceModel\v4.0_4.0.0.0__b77a5c561934e089\System.ServiceModel.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled. 
'MY_APP.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.ServiceProcess\v4.0_4.0.0.0__b03f5f7f11d50a3a\System.ServiceProcess.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled. 
'MY_APP.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System.Web.Extensions\v4.0_4.0.0.0__31bf3856ad364e35\System.Web.Extensions.dll', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled. 
'MY_APP.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', Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled. 
The thread 'vshost.NotifyLoad' (0x197c) has exited with code 0 (0x0). 
The thread '<No Name>' (0x838) has exited with code 0 (0x0). 
The thread 'vshost.LoadReference' (0x1744) has exited with code 0 (0x0). 
'MY_APP.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\Primary\PROJECTS\VasoNova\WORK\Win7 VPS\MY_APPG4\bin\Debug\MY_APP.exe', Symbols loaded. 
'MY_APP.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\Primary\PROJECTS\VasoNova\WORK\Win7 VPS\MY_APPG4\bin\Debug\VN.Common.dll', Symbols loaded. 
'MY_APP.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\Primary\PROJECTS\VasoNova\WORK\Win7 VPS\MY_APPG4\bin\Debug\GuiServer.dll', Symbols loaded. 
'MY_APP.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\Primary\PROJECTS\VasoNova\WORK\Win7 VPS\MY_APPG4\bin\Debug\GuiManager.dll', Symbols loaded. 
'MY_APP.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\Primary\PROJECTS\VasoNova\WORK\Win7 VPS\MY_APPG4\bin\Debug\VNUserControls.dll', Symbols loaded. 
'MY_APP.vshost.exe' (Managed (v4.0.30319)): Loaded 'C:\Primary\PROJECTS\VasoNova\WORK\Win7 VPS\MY_APPG4\bin\Debug\VNSockCommunication.dll', Symbols loaded. 

COMMS ADIM 0: MY_APPForm_Load. Programınız 64 bit işlem olarak çalışmakta olan

A first chance exception of type 'System.BadImageFormatException' occurred in MY_APP.exe 
+0

Şaşırtıcı şekilde yeniden başlatmayı deneyin, benimle çalıştı! –

cevap

29

Loaded 'C:\Windows\Microsoft.Net\assembly\GAC_64\mscorlib...

: MY APP ŞİMDİ BU HATA NEDENLERİ DLL, BİR C işlevini çağırır. DLL'niz 32-bit yönetilmeyen kod içeriyor. Kaboom.

EXE dosyanızın yüklenebilmesi için EXE dosyanızı 32-bit bir işlem olarak çalışmaya zorlamanız gerekir. Solution Explorer pencerenizdeki EXE projenizi sağ tıklatın. Özellikler, Oluştur sekmesi, Platform hedefi ayarını AnyCPU'dan x86'ya değiştirin. VS2012 ve üstü "32-bit tercih et" seçeneğini işaretleyin. Serbest bırakma yapılandırması için tekrarlayın.

+0

Teşekkür ederim, Hans. Bu çözüldü. Not: VS2010'um var ve "32-bit tercih et" seçeneğini bulamadım. Hans, VS2012'ye yükseltmeyi önerir misin? Buna değer mi? –

+0

Benim için de çözüldü. Teşekkürler – superachu

+0

Benzer bir sorun vardı, badimageformatexception ile, platform hedef x86 ile bir dış proje ekledim (64-bit bir makinede çalışıyorum). - Ben 'herhangi bir cpu' inşa etmek için dış proje ayarladım, ve her şey iyi :) – phareim