【问题标题】:Visual Studio 2008 sometimes resets Platform back to "Any CPU" from "x86"Visual Studio 2008 有时会将平台从“x86”重置回“任何 CPU”
【发布时间】:2011-07-09 06:02:23
【问题描述】:

我有一个多项目解决方案,我使用配置管理器将所有项目的平台设置为“x86”。在所有项目中,Debug 和 Release 版本都是这样设置的。

现在有两次,Platform 已将自身重置回“任何 CPU”,我不得不再次进入 Configuration Manager 来修复它。

今天,它发生在我从 Subversion 获得一个新的工作副本之后,但我不确定这是否是上次发生的情况。

关于为什么会发生这种情况以及将来如何防止它的任何建议?

【问题讨论】:

    标签: visual-studio-2008 configurationmanager


    【解决方案1】:

    我认为选择的构建是用户偏好,所以如果你签出一个干净的副本,你将从一个空白的用户偏好开始。文件。然后 VS 将默认为列表中的第一个,这可能是“任何 cpu”。

    【讨论】:

    • 您所说的“pref”文件是扩展名为“.suo”的文件吗? Windows 资源管理器将其显示为“Visual Studio 用户选项”文件 - 也许我需要将其添加到 SVN? (假设我可以让我项目的其他开发人员同意我的选择)
    • 不,您不应该在 svn 中包含 .suo,否则会产生同样的问题(即:始终将构建设置为最后一个提交人设置的内容)。解决方案是在您 svn update 时保留您的 .suo 文件,或者只是在每次签出干净副本时设置您的构建类型。这一切都假设选定的构建在 suo 文件中,让我仔细检查一下......
    • 是的,当您更改构建时唯一更改的文件是 .suo 文件,因此必须是它。它是一个二进制文件,所以你不能轻易改变它(除了打开 VS 和改变构建设置:)。
    • 尽管这是解决方案,但这太可怕了!我们有一个 TFS 构建服务器,它错误地构建了我们的 x86 EXE 文件,因此它们有时会以 x64 运行,然后我们的 x86 COM 组件就会失败。构建平台设置不应该是用户设置,而是项目设置,因此应该存储在 PROJECT 文件而不是 SUO 文件中。微软真丢脸。
    【解决方案2】:

    我想出了一种方法,至少可以在问题发生时检测到它。

    在预构建事件命令行中添加了以下内容:

    rem EXIT WITH ERROR 99 IF PLATFORM IS NOT x86. (CHECK CONFIGURATION MANAGER)
    if $(PlatformName) NEQ x86 exit 99
    

    如果平台设置发生更改,我现在在构建项目时会收到​​错误消息。

    粗制滥造,但有效。

    【讨论】:

      猜你喜欢
      • 2012-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-24
      • 2011-09-17
      相关资源
      最近更新 更多