无法使用VS 2010,.Net 3.5和64位构建C++/CLI应用程序

Bea*_*ast 10 c++-cli visual-studio-2010 .net-3.5 32bit-64bit

我有一个在Visual Studio 2010下构建但使用.Net 3.5的C++/CLI应用程序.根据需要,我手动编辑了我的项目文件,添加了值为3.5的TargetFrameworkVersion,并且当我处于x86(32位)模式时能够无问题地构建它.但是,当我切换到在x64(64位)模式下构建它时,我收到以下错误:

错误MSB8014:找不到执行路径(C:\ Program Files(x86)\ Microsoft Visual Studio 9.0\VC\bin\x86_amd64).

我安装了VS 2008(9.0),但bin文件夹下没有x86_amd64目录.我试图通过添加此文件夹(以及由于目标文件中的下一行而失败的amd64文件夹)来欺骗它,然后我收到错误:

致命错误LNK1112:模块机器类型'X86'与目标机器类型'x64'冲突

我无法弄明白,因为我的项目没有明确的链接.我将它与之交互的C#程序集切换为在x64中构建(而不是任何CPU),但无济于事.

仅供参考:一切都在32位模式下正确构建.如果切换到.Net 4.0(v100),一切都可以在64位模式下正确构建.我在发布和调试模式下都会遇到相同的错误.

任何想法,将不胜感激.

小智 18

如果您正在使用在项目属性上从V100切换到V90的"工具集"进行编译,并且您在同一台开发计算机上安装了Visual Studio 2008,只需转到控制面板,程序和功能,选择Visual Studio 2008,右键 - 单击,选择卸载/更改,然后选择添加/删除功能,然后当您看到功能列表时,在Visual C++下查找默认情况下未安装的x64编译器/文件,但是单击下一个复选框它,它将添加所需的文件.


Yoc*_*mer 5

在VS2010中它应链接到 C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\x86_amd64

您可能配置错误,或从vs2008项目导入.

去吧Configuration -> General -> Platform Toolset.确保它v100(vs2010)

如果这没有用,请看一下Configuration -> VC++ Directories.这就是设置路径的地方.
您可以看到它在$(VCInstallDir)计算机中的哪个位置设置为VS2008路径.