如何为Delphi IDE中几乎没有项目的Delphi项目组编译所有构建?

如何为Delphi IDE中几乎没有项目的Delphi项目组编译所有构建?,delphi,ide,project-management,Delphi,Ide,Project Management,我正在使用DelphiXE。自Delphi 2007以来,它支持项目组(.groupproj),我们可以向其中添加项目 我们可以在“构建配置”中为项目定义各种构建配置,例如:调试和发布构建 自Delphi 2010以来,运行时变量$(Config)可用于设置输出目录,如:.\$(Config) 在本例中,$(Config)分别转换为调试版本的“Debug”和发布版本的“Release” 在生成配置中激活调试生成时,输出文件将存储在相对于当前目录的“\Debug”文件夹中 这是一个很好的特性,所以

我正在使用DelphiXE。自Delphi 2007以来,它支持项目组(.groupproj),我们可以向其中添加项目

我们可以在“构建配置”中为项目定义各种构建配置,例如:调试和发布构建

自Delphi 2010以来,运行时变量$(Config)可用于设置输出目录,如:.\$(Config)

在本例中,$(Config)分别转换为调试版本的“Debug”和发布版本的“Release”

在生成配置中激活调试生成时,输出文件将存储在相对于当前目录的“\Debug”文件夹中

这是一个很好的特性,所以我们可以将输出文件存储在项目的构建配置中定义的各个构建文件夹中

此外,使用“构建配置”的上下文菜单(鼠标右键单击弹出菜单)中的“构建”菜单项,对下面的所有构建执行编译

不幸的是,我的项目组中有200多个项目。每个项目都定义了调试和发布版本。我找不到任何方法触发一个动作,一次为200个项目构建调试和发布构建

到目前为止,我知道的唯一解决方案是在每次构建之前使用View | Configuration Manager更改活动配置。但是,这会将所有项目标记为已修改

请分享您对如何编译项目组可用的所有版本的想法


谢谢。

我在浏览器上下文菜单中为*.groupproj添加了一项,称之为*.bat:

call  "C:\Program Files (x86)\CodeGear\RAD Studio\5.0\bin\rsvars.bat"
MSBuild %1 /t:Build /p:Configuration=Release
if errorlevel 1 goto Fehler

goto :EOF

:Fehler
pause
因此,我可以通过两次鼠标单击从资源管理器进行发布构建


您必须在IDE中编译吗?否则,只需在命令提示符下使用MSBuild。顺便说一句:我在D2007和AFAICT中尝试了配置管理器方法,但没有将任何内容标记为已修改。@Ulrich:我使用的是Delphi XE。在配置管理器中切换生成配置后,它会将项目标记为修改状态。@Ulrich:不必在IDE中编译。然而,我每年都会为DelphiIDE投入几千美元。它应该允许我做这些工作。它必须标记所有修改。如果您的发行版关闭了调试信息,或者您的调试中有一个{$DEFINE DEBUG},而您的发行版不应该包含这个{$DEFINE DEBUG},该怎么办?IDE无法知道,因此如果组级配置发生更改,它需要全部构建它们。您是指Windows资源管理器吗?或者您编写了一个Delphi ToolsAPI专家来调用脚本?Windows资源管理器。我将尝试添加一个屏幕截图。对于带有空格的路径,您可能应该引用“%1”参数。这很好,但在将该参数传递给MSBuild(以处理包含空格的路径)时,应该再次引用该参数。我刚刚在
“C:\Program Files(x86)上尝试了ReleaseBuild项\combit\LL15\Programmierbare Beispiele and Deklarationen\Delphi\prtloop\Test Gruppe.groupproj“
。如果我让批处理文件保持原样(不带引号),它就会工作。如果我将其更改为包含
MSBuild“%1”/t:Build/p:Configuration=Release
我将获得
MSBuild:Fehler MSB1008:Es darf nur ein Projekt angegeben werden。Schalter:Files
(来自MSDN:“只能指定一个项目”)。我误解你了吗?