MSBuild:删除以前 <imported>ed 的目标依赖项

MSBuild : Remove a previously <imported>ed Target dependency

在我的 csproj 中,我正在导入一个非常大的频繁使用的目标文件(我现在不允许分解)。但是,此目标文件通过使用 AfterTargets='Build'.

设置各种目标依赖项/顺序

在我导入这个大目标文件的 csproj 中,我想删除一些 After build 目标依赖项。例如,假设导入了以下目标:

<!-- This is in the large targets file -->
<Target Name="Target1" AfterTargets="Build">
</Target> 

如何删除正在执行的 Target1 在 csproj 中构建后我将其导入。 什么是实现该目标的好方法?

您必须覆盖目标 Target1,然后为其目标设置一个空,这意味着您已经删除了之前的 Target1

虽然它仍然出现在构建日志中,但它是空的,没有任何操作。这是唯一的方法。而如果想让Target1不出现,就得在大targets文件下删除

需要注意的是,新的Target1必须写在前一个之后,新的才会覆盖旧的

举个例子,

    <!-- This is in the large targets file -->

    <Target Name="Target1" AfterTargets="Build"> // the old one 
    
    //do some larget opertion
    </Target> 
    
    ........
    
    ........
    
    <Target Name="Target1"> // the new one and make it empty
    </Target>