gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 14:32:23 26 4
gpt4 key购买 nike

我创建了一个自定义 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

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

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

<TargetsFile Include="Custom.targets"/>

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

[MSBuild Warning] Custom.targets(1): Ignoring disabled import: PathToProjectSource\\Custom.targets

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

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

我尝试破解 .dproj文件添加行...

<Import Project="Custom.targets"/>

打字 MSBuild ProjectName.dproj /t:Hello现在可以了。但下次我从 IDE 保存项目文件时,<Import>声明被删除。

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

最佳答案

Delphi 本身生成整个 dproj 内容,并且此自定义导入将始终被删除。

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

除非你有源代码或者愿意给 IDE 打补丁,否则你无法做到这一点。

如果您确实想要一种灵活的 xml 方式来构建 delphi 项目并创建大量目标,请尝试want或want vnext(我在bitbucket上的fork)

关于Delphi XE 自定义构建目标始终处于禁用状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18575434/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com