Я создал собственный файл 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>
будет удален.
Кто-нибудь понял, что происходит неправильно?