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>
在我的 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>