Visual Studio ... 将目标平台设置存储在 *.suo 文件中
它没有,它将它存储在项目文件中。我创建的一个相关片段:
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>x86</PlatformTarget>
// etc...
</PropertyGroup>
它配置有项目 + 属性、构建选项卡、平台目标组合框。重复发布配置。只有 EXE 项目的设置很重要,它决定了进程的位数。DLL 没有选择,应该使用 AnyCPU。
你很可能被 VS2010 中一个相当严重的设计错误绊倒了。另一个项目是解决方案平台名称,例如在 Build + Configuration Manager 对话框中突出显示。对于托管项目,这始终是 AnyCPU,VS2010 通过将默认值重命名为“x86”来彻底解决这个问题。当您从早期版本导入项目时,会造成一大堆旧的混乱,从而产生“混合平台”配置。是的,最后一个选择保存在 .suo 文件中。
这与托管项目无关,仅对 C++ 项目重要。该设置选择一组不同的构建工具。64 位编译器和链接器是不同的程序。托管项目不存在的问题是,位数在运行时由抖动选择确定,并且无论所需的平台目标如何,您都使用完全相同的 C# 编译器。
消除此类错误的最佳方法是积极删除平台并仅保留一个。使用 Build + Configuration Manager,选择右上角组合框中的“编辑”条目,然后单击移除无关平台,直到只剩下 AnyCPU。也建议更新你的 VS 版本,这个错误在 VS2012 中再次得到纠正。