2013-02-25 91 views
1

我想使用相同的Delphi项目来生成两个可执行文件(使用不同的条件定义集合)。我如何使用msbuild指定生成的可执行文件的名称?如何用Delphi和MSBuild指定可执行文件的名称?

假设该项目名为Foo.dproj。第一个可执行文件应该被称为Foo.exe(默认),第二个应该被称为Foo-2.exe

+0

使用IDE更改输出名称。然后查看.dproj文件中的更改。现在你知道属性的名称,你可以在msbuild命令行中设置/ pNAME = VALUE – 2013-02-25 08:12:07

+0

@DavidHeffernan大卫,老实说,我找不到在IDE中执行此操作的任何选项(只有输出目录,可执行文件名似乎总是等于项目名称)。 – jpfollenius 2013-02-25 08:15:28

+0

如果是这样,你需要你的构建脚本来为你重命名。 – 2013-02-25 08:32:29

回答

3

一个平凡的解决办法是下面的生成脚本:

msbuild ... // Build second executuable 
move Bin\Foo.exe Bin\Foo-2.exe 
msbuild ... // Build first executable 
+0

+1恕我直言,比'移动'更准确地称'重命名'。 – jachguate 2013-02-25 21:03:45

+0

@jachguate为什么?在* nix上,命令是'mv'。移动和重命名是一回事。 – 2013-04-22 19:52:30

+0

我只是不记得当我发布评论时我在想什么,但你是对的@大卫。 – jachguate 2013-04-22 23:29:56

1

上没设置使用的MSBuild德尔福选项的细节一大堆文档。我遵循的过程如下:

  1. 找到您想要在IDE中控制的设置。
  2. 对该设置进行更改并观察.dproj文件中的更改是如何生效的。
  3. 希望您现在可以通过将参数/p传递给msbuild来设置属性的名称,即/pNAME=VALUE

在输出文件名的情况下,最好的我所知,有在IDE或.dproj文件,甚至dcc32.exe没有选项,允许您控制输出文件的名称。这意味着你唯一的选择是作为构建脚本的一部分进行重命名。

相关问题