[英]How do you call an overridden MSBuild target
在MSBuild中,您可以覆蓋自己的另一個文件中的<Target />
。 例如, Microsoft.Common.targets
文件中包含的AfterBuild目標只需通過定義具有相同名稱的自己的Target:
<Target Name="AfterBuild">
<!-- Do something different -->
</TargetName>
你會看到這樣一個音符:
在項目“XXXXX”中使用目標“AfterBuild”覆蓋項目“C:\\ Windows \\ Microsoft.NET \\ Framework \\ v3.5 \\ Microsoft.Common.targets”中的目標“AfterBuild”。
有沒有辦法調用原始的AfterBuild目標?
我想這樣做來檢測某些復雜的默認目標,然后執行原始行為。 像Build這樣的許多目標暴露了可用於此的BuildDependsOn屬性。 許多其他人沒有 - 我想在不完全復制其內容的情況下覆蓋它們。
處理MSBuild腳本時,它還將處理導入的文件。 結果將是整個腳本的單個內存規范表示。 當遇到已存在的目標時,先前的定義將被丟棄,因此無法調用原始目標。
Sayed Ibrahim Hashimi
我的書: Microsoft Build Engine內部:使用MSBuild和Team Foundation Build
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.