del*_*ler 177 delphi msbuild 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>语句将被删除.
有人知道出了什么问题吗?
War*_* P 2
Delphi 自己生成整个 dproj 内容,并且此自定义导入将始终被删除。
您可以编写自己的 msbuild xml 文件,但 dproj 属于 Delphi。
除非你有源代码或者愿意给 IDE 打补丁,否则你不能这样做。
如果你真的想要一种灵活的 xml 方式来构建 delphi 项目并创建大量目标,请尝试want或want vnext(我在bitbucket上的fork)
| 归档时间: |
|
| 查看次数: |
2951 次 |
| 最近记录: |