我正在使用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