Как я могу заставить MSBuild делать полную сборку проекта Delphi, эквивалентного dcc32-b?

С Perl можно окружить данные, которые Вы хотите с () и вытаскиваете его позже, возможно, другие языки имеют подобную функцию.

if ($s_output =~ /(data data data data START(data data data)END (data data)/) 
{
    $dataAllOfIt = $1;      # 1 full string
    $dataInMiddle = $2;     # 2 Middle Data
    $dataAtEnd = $3;        # 3 End Data
}
8
задан Zartog 20 November 2009 в 22:06
поделиться

4 ответа

Я считаю, что это / t: rebuild , в выводе msbuild указано «Удаление файла: ...» для всех dcu, затем выполняется сборка проекта.

I используйте командный файл для вызова msbuild для сборки проектов delphi для Delphi 2007 и Delphi 2009 (у которого просто другой путь для % BDS% ):

set DCC_Quiet=true
set BDS=%ProgramFiles%\CodeGear\RAD Studio\5.0
set MSBuildBinPath=%WinDir%\Microsoft.NET\Framework\v2.0.50727

call %MSBuildBinPath%\msbuild /nologo /t:rebuild /p:config=Release %1 %2 %3 %4 %5

[Примечание, из этого вопроса , для выпуска «Конфигурация сборки» Delphi 2009 - это / p: config = Release , а Delphi 2007 - / p: Configuration = Выпуск ]

11
ответ дан 5 December 2019 в 14:03
поделиться

Как я помню, в D7 была аналогичная проблема, когда GUI и dcc32 производили разные сборки. Взгляните на расположение и содержимое вашего файла (ов) dcc32.cfg. На самом деле они могут содержать столько условных выражений, сколько вам нужно. Одно условие на строку

0
ответ дан 5 December 2019 в 14:03
поделиться

Думаю, вопрос Delphi MSBuild Build Configuraions From Command Line содержит ответ. Попробуйте

msbuild /target:Build
1
ответ дан 5 December 2019 в 14:03
поделиться

Другой вариант - удалить DCU скомпилированных модулей после завершения вашей первой сборки и перед запуском следующей.

0
ответ дан 5 December 2019 в 14:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: