2010-06-01 44 views
2

如果影響答案,Vs2010 .net 4.0目標項目。用於刪除文件/目錄和報告刪除內容的MSBuild語法

我想刪除bin和obj目錄,並輸出消息的路徑是什麼被刪除。

<Target Name="CleanOutputs" Condition="'$(MvcBuildViews)'=='true'"> 
    <Message Text="Cleaning Outputs" Importance="high"/> 
    <RemoveDir Directories="$(OutputPath);obj" RemovedDirectories="@(removed)" /> 
    <Message Text="Removed: %(removed.FullPath)" Importance="high"/> 
    <Message Text=" "/> 
    <!--<RemoveDir Directories="obj" />--> 
    <MakeDir Condition="!Exists('$(OutputPath)')" Directories="$(OutputPath)" /> 
</Target> 

是我所擁有的,但Removed:消息從不顯示。

回答

5

您的獲取已刪除目錄的語法不正確。有一個是正確的:

<Target Name="CleanOutputs" Condition="'$(MvcBuildViews)'=='true'"> 
    <Message Text="Cleaning Outputs" Importance="high"/> 

    <RemoveDir Directories="$(OutputPath);obj"> 
     <Output TaskParameter="RemovedDirectories" ItemName="removed"/> 
    </RemoveDir> 
    <Message Text="Removed: %(removed.FullPath)" Importance="high"/> 

    <Message Text=" "/> 
    <!--<RemoveDir Directories="obj" />--> 
    <MakeDir Condition="!Exists('$(OutputPath)')" Directories="$(OutputPath)" /> 
</Target> 
+0

但爲什麼[文件](https://msdn.microsoft.com/en-us/library/xyfz6ddb.aspx)接下來說:''我們應該如何知道,要獲得成功刪除的目錄,您必須像發佈一樣使用它。我試過你的代碼,它的工作原理,但我不覺得msbuild任務非常直觀,易於使用。 – broadband 2017-05-25 12:45:07