【发布时间】:2011-05-12 10:08:09
【问题描述】:
我们最近从 Delphi 2006 升级到 Delphi 2007,项目文件从 .bdsproj 更改为 .dproj。
到目前为止,我的研究表明,要创建.dproj,需要在 D2007 IDE 中打开现有项目。我们有超过 400 个.bdsproj 文件,因此手动执行此操作并不实际。
我想出的过程是使用以下命令从命令行打开所有项目:
find . -name *.bdsproj -exec bds.exe -pDelphi -ns -m "{}" ";"
这并不理想,因为它很慢(等待 BDS 加载,等待编译发生,等待 BDS 关闭,...)。
有没有一种有效的方法可以将多个.bdsproj 转换为.dproj?
注意:上述命令行中的“find”是一个类似 UNIX 的 find(例如 MKS 或 GNU),它搜索文件,而不是 Windows 的 find 搜索文件中的文本。
【问题讨论】:
-
很遗憾 Embarcadero 没有可用于进行该转换的命令行工具。
-
bdsproj 文件与其对应的 dproj 文件在文本上有什么区别?可能不多,我想。它们是否足够相似,以至于一个简单的程序可以在无需加载 Delphi 的情况下将一个转换为另一个?它们是 XML,对吧?我在想一个简单的 XSLT 可以一次性改变这一切。
-
@Rob,我认为它们也会相似,并且在某些方面它们是相似的。但是有一些差异使它不仅仅是从一个 XML 到另一个 XML 的转换。每个文件都包含另一个文件中没有的信息。例如。 dproj 包含来自 dpr 和 bdsproj 的信息,并且 bdsproj 中的 UsePackages 设置不是 dproj。这些只是我很快注意到的差异,可能还有其他差异。一旦我看到这不是直接的转换,我就停止了寻找。
标签: delphi delphi-2007