在通过MSBuild项目文件调用自定义(内联或非内联)任务时是否可以调用其他MSBuild任务(CL、Link、Delete、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预处理器等。有人可能会质疑这样一个“巨大”的任务的设计,但我们只是说一些要求迫使我们走这条“繁琐”的道路。
编辑:为了强调这个问题的正确背景
这个问题不是从设计的角度,而是从技术的角度来看。作为这个领域的新手,我只想知道这是否在技术上可行?如果可以,怎么做?如果不行,为什么不行?