Я створив користувальницький .targetsфайл MSBuild, який я включив у проект Delphi XE через IDE і включив його в контекстне меню менеджера проектів. Хоча файл перевіряється, він завжди вимикається після того, як я повторно збережу файл проекту.
Ось спрощена версія файлу цільових назв 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] 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>виписка видаляється.
Хтось має ідею, що піде не так?
/t:Hello, а також з IDE, клацнувши правою кнопкою миші в диспетчері проектів - Цілі - Привіт. Я додав Custom.targetsдо проекту, клацнувши правою кнопкою миші в Менеджері проектів - Додати - (переглянув файл). Шлях - той самий каталог, що і файл .dproj.