2013-02-25 94 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沒有選項,允許您控制輸出文件的名稱。這意味着你唯一的選擇是作爲構建腳本的一部分進行重命名。

相關問題