小编del*_*ler的帖子

始终禁用Delphi XE自定义生成目标

我已经创建了一个自定义的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>
Run Code Online (Sandbox Code Playgroud)

作为一个独立的文件,这按预期工作:输入...

MSBuild Custom.target /t:Hello
Run Code Online (Sandbox Code Playgroud)

...在命令行中给出了预期的消息.

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

<TargetsFile Include="Custom.targets"/>
Run Code Online (Sandbox Code Playgroud)

我在IDE的项目管理器中右键单击该文件并进行选择Enable.但是在构建项目时,Build消息窗口显示:

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

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

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

我试过黑客攻击.dproj文件添加行...

<Import Project="Custom.targets"/>
Run Code Online (Sandbox Code Playgroud)

打字MSBuild ProjectName.dproj /t:Hello现在有效.但是下次我从IDE保存项目文件时,<Import>语句将被删除.

有人知道出了什么问题吗?

delphi msbuild delphi-xe

177
推荐指数
1
解决办法
2951
查看次数

标签 统计

delphi ×1

delphi-xe ×1

msbuild ×1