我创建了一个自定义 MSBuild.targets
文件,我通过 IDE 将其包含在 Delphi XE 项目中,并从项目管理器的上下文菜单中启用了它。尽管该文件已验证,但在我重新保存项目文件后它总是被禁用。
这是目标文件的简化版本,名为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 项目会按预期在项目管理器中显示该文件,并且该.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>
语句将被删除。
请问有人知道出了什么问题吗?