Как MSBuild находит путь поиска Delphi? - PullRequest
10 голосов
/ 30 ноября 2009

Если я запускаю командную строку RAD Studio и запускаю

msbuild /t:Rebuild

в каталоге проекта, msbuild покажет полную командную строку для вызова dcc32, включая все настройки пути.

Какую магию использует MSBuild для поиска путей поиска на основе настроек IDE (хранящихся в реестре) и файла проекта (который содержит заполнители, такие как $ (DCC_UnitSearchPath)?

Командная строка RAD Studio устанавливает только среду .Net для MSBuild. Значит, что-то еще работает за кулисами?

Ответы [ 2 ]

16 голосов
/ 30 ноября 2009

Если вы изучите файл проекта, вы заметите, что он включает CodeGear.Delphi.Targets, который включает CodeGear.Common.Targets, который, в свою очередь, включает EnvOptions.proj. EnvOptions.proj обновляется в среде IDE и содержит пути из реестра.

1 голос
/ 30 ноября 2009

Вы поднялись вверх по включению проекта? Вы должны быть в состоянии угадать, где он рассчитывается (то есть, какую задачу), и использовать Reflector для его обратного проектирования. Помните, MSBuild - это просто [очень дурацкий] текст.

Или вы можете включить подробное ведение журнала и узнать, какая задача вычисляет его таким образом.

Или вы могли бы использовать procmon для контроля того, какие проходы проверяются и т. Д.

Или вы можете подождать, пока Барри придет и даст окончательный ответ: P

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...