我已经创建了一个自定义 MSBuild .targets
文件,我已经通过 IDE 将其包含在 Delphi XE 项目中,并从 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
... 在命令行发出预期的消息。
通过 IDE 将 Custom.targets
添加到 Delphi 项目中,按照预期在 Project Manager 中显示该文件,并且 .dproj
文件现在包含以下行..。
<TargetsFile Include="Custom.targets"/>
我在 IDE 的项目管理器中右键单击该文件并选择了 Enable
。但是,当项目建立时,Build
消息窗口显示:
[ MSBuild 警告] Custom.target (1) : 忽略禁用的导入:
PathToProjectSource\\Custom.targets
在 ProjectManager 中再次右键单击仍然显示 Enable
选项,而不是预期的 Disable
选项。
在命令行 MSBuild ProjectName.dproj /t:Hello
也失败。
我试过黑进 .dproj
文件,添加一行..。
<Import Project="Custom.targets"/>
输入 MSBuild ProjectName.dproj /t:Hello
现在可以工作了。但是下次我从 IDE 中保存项目文件时,<Import>
语句将被删除。
有人知道出了什么问题吗?