如何在Delphi XE7中设置'Version info'? [Delphi 设计问题]

How to set 'Version info' in Delphi XE7? [Delphi design issue]

我刚刚将我的一个项目从 Delphi XE 升级到 XE7。 'All platforms/All configurations' 全局目标的版本信息(我应该称之为 'base' 吗?)是从旧项目正确复制的。

Company name: xxx
File version: 3.2.1
etc

但是,当我检查子目标(32 位/release、32 位/debug 等)时,它们都设置为“”。所以他们不会 copy/inherit 来自 'All platforms/All configurations' 的信息。

Company name: ''
File version: 1.0.0
etc

如何强制子目标继承自 'All platforms/All configurations'。


更新:这似乎是 Delphi XE7 的设计问题。只要您不编辑子目标,它们就会保持同步。 window 中缺少一个 'Sync sub-targets to main target' 按钮。还有一个与此密切相关的BUG(详见我的回答)。

这是 IDE (Delphi XE7) 中的一个 bug

重现方式:

  1. 将主要目标设置为版本 1.0.0.0。
    保存项目。
    重启 IDE.
    所有子目标都同步。

  2. 现在打开 DPR 并编辑其中的任何内容。保存。 将主要目标设置为版本 2.0.0.0.
    保存项目。
    重启 IDE.
    当前子目标(在您编辑 DPR 文件时处于活动状态的子目标)不再同步。它会卡在 1.0.0.0

解法:
关闭 IDE 中的项目。在文本编辑器中打开 DPROJ 文件(而不是 IDE!)并删除包含错误版本信息的条目,例如。其中 VerInfo_MajorVer=1 而不是 2。