我正在使用Visual Studio 2008 Express。我有一個解決方案,用於在Vista 32位上正常工作。我最近切換到Windows 7,其中一部分停止工作。這是我的設置: - 非託管C++靜態庫,「庫」 - 包裝用於C#的「庫」功能的託管C++ DLL,「DLL」 - 引用「DLL」的託管C++控制檯應用程序引用「DLL」的C#應用程序在Windows 7上構建Visual Studio 2008 Express C++ 32位64位
運行C#應用程序時,我收到了DLL引發的異常,我通常會通過託管C++控制檯應用程序調試類似這樣的問題,因爲我可以接着進入非託管庫代碼。
的問題是,我現在得到了一些奇怪的符號的彈出式對話框和路徑「C:\ WINDOWS \ Microsoft.NET \框架\ V2.0.50727 \ dw20.exe」,然後我的應用程序捕獲例外當我嘗試運行託管C++控制檯應用程序時,「System.BadImageFormatException:不是有效的Win32應用程序」。我花了很多時間研究這個問題,任何甚至類似於有用建議的東西都指的是在C#中構建X86項目,但與C++無關。我嘗試將/MACHINE:X86添加到庫的Librarian選項中,但似乎不起作用。
我想簡而言之,我的問題是,我如何才能確保我的非託管C++靜態庫的構建,以便它可以在32位系統上運行?
在C++中沒有類似的選項,只能在C#中使用。唯一可用的構建是Win32。 – Hazerider 2011-04-08 13:27:11