Я создал собственный файл MSBuild .targets, который я включил в проект Delphi XE через IDE и включил его из контекстного меню Project Manager. Несмотря на то, что файл проверяется, он всегда отключается после повторного сохранения файла проекта.
Здесь приведен упрощенный вариант файла целей с именем Custom.targets.
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <Target Name="Hello">
    <Message Text="Hello from custom target"/>
  </Target>
</Project>
В качестве самостоятельного файла это работает так, как ожидалось: набрав...
MSBuild Custom.target /t:Hello
... в командной строке отображается ожидаемое сообщение.
Добавление Custom.targets в проект Delphi через IDE отображает файл в Менеджере проектов, как ожидалось, а файл .dproj теперь содержит строку...
<TargetsFile Include="Custom.targets"/>
Я щелкнул правой кнопкой мыши файл в диспетчере проектов IDE и выбрал Enable. Но когда проект построен, появится окно сообщения Build:
[MSBuild Warning] Custom.targets(1): Игнорирование отключенного импорта:
PathToProjectSource\\Custom.targets
При щелчке правой кнопкой мыши в диспетчере проектов по-прежнему отображается параметр Enable вместо ожидаемого Disable.
В командной строке MSBuild ProjectName.dproj /t:Hello также терпит неудачу.
Я попытался взломать файл .dproj, чтобы добавить строку...
<Import Project="Custom.targets"/>
Теперь печатается MSBuild ProjectName.dproj /t:Hello. Но в следующий раз, когда я сохраню файл проекта из IDE, оператор <Import> будет удален.
Кто-нибудь понял, что происходит неправильно?
