Delphi XE自定义构build目标始终处于禁用状态

我已经创build了一个自定义的MSBuild .targets文件,通过IDE将其包含在Delphi XE项目中,并从项目pipe理器的上下文菜单启用它。 虽然文件validation,但是我重新保存项目文件后,它总是被禁用。

这里有一个名为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 

…在命令行给出预期的消息。

通过IDE将Custom.targets添加到Delphi项目中,按预期在项目pipe理器中显示文件,现在.dproj文件包含行…

 <TargetsFile Include="Custom.targets"/> 

我在IDE的项目pipe理器中右键单击该文件并selectEnable 。 但是当项目build立时, Build消息窗口显示:

[MSBuild警告] Custom.targets(1):忽略禁用导入: PathToProjectSource\\Custom.targets

在项目pipe理器中再次右键单击仍显示Enable选项而不是预期的Disable

在命令行MSBuild ProjectName.dproj /t:Hello也失败。

我已经尝试黑客.dproj文件添加行…

 <Import Project="Custom.targets"/> 

键入MSBuild ProjectName.dproj /t:Hello现在MSBuild ProjectName.dproj /t:Hello 。 但是下一次我从IDE中保存项目文件时, <Import>语句被删除。

任何人有什么想法是什么问题?

Delphi自己生成整个dproj内容,并且这个定制导入将一直被删除。

你可以编写你自己的msbuild xml文件,但dproj属于Delphi。

除非你有源代码或者愿意猴子补丁的IDE你不能这样做。

如果你真的想要一个灵活的xml方法来build立delphi项目和创build目标嘉豪试试想要或想要vnext(我的叉在bitbucket上)