是否可以从通过 MSBuild 项目文件调用的自定义(内联或非内联)任务中调用其他 MSBuild 任务(CL、链接、删除、MakeDir 等)?就像是:
<!-- In MSBuild File -->
<MyStrangeTask />
在 C# 代码中实现“MyStrangeTask”
// After declaring class, properties, etc.
public override bool Execute()
{
// Call other MSBuild Tasks here: CL, Link, MakeDir, etc.
}
是的,有可能复制某些任务的功能(删除、MakeDir 等),但为什么要重新发明轮子呢?此外,像 CL 和 Link 这样的任务重新实现会很耗时。
为什么我需要这个?
我正在编写一个自定义任务,它基本上需要复制文件、调用 CL 预处理器等。人们可能会质疑这样一个“巨大”任务的设计,但我们只是说一些要求迫使我们走这条“乏味”的道路。
编辑: 强调这个问题的正确背景
这个问题不是来自设计,而是来自技术的角度。
作为该领域的新手,我只想知道这在技术上是否可行?如果是,如何?如果不是,为什么不呢?