2011-10-26 43 views
14

有沒有辦法刪除一個ItemGroup的內容而不訴諸目標?我在找的東西相當於:清空一個MSBuild ItemGroup

<ItemGroup> 
    <MyItemGroup Remove="@(MyItemGroup)"/> 
</ItemGroup> 

感謝

回答

2

現在有。

What's New in MSBuild 15

  • Item元素之外的目標有一個新的Update屬性。此外,Remove屬性的限制已被消除。
+0

太棒了。 Upvoted! –

15

不,作爲文檔狀態,刪除只能包含在目標內的ItemGroup。我不確定爲什麼在你的情況下使用Target是一個問題,但是如果想爲每個構建配置使用'Remove'步驟,那麼將它添加到BeforeXXXX AfterXXX掛鉤之一,如BeforeBuild。

ItemGroup 'Remove' Documentation

在.NET Framework 3.5開始,目標元素可以包含可能包含item元素的ItemGroup元素。這些項目元素可以包含Remove屬性,它可以從項目類型中刪除特定項目(文件)。例如,以下XML將從編譯項目類型中刪除每個.config文件。

<Target> 
    <ItemGroup> 
    <Compile Remove="*.config"/> 
    </ItemGroup> 
</Target> 
+0

你說得對。目標之外無法做到這一點。我刪除了我的答案,我選擇了你的答案作爲有用的;) – Ludwo

+0

@路德沃 - 很高興知道。我以爲我錯過了什麼。 –

+0

太糟糕了。謝謝 –

相關問題