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上)