2016-07-22 29 views
0

刪除多個NuGet包文件,我寫了一個build.xml文件來創建一個NuGet包在我的解決方案模塊,然後將其上傳到MyGet庫。之後,我想刪除生成的nupkg文件,以便僅將該包保存在存儲庫中。第一步工作正常,但不是刪除部分。我想這樣的:如何在build.xml

<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
<Target Name="Package"> 
<!-- Package the project --> 
<Exec WorkingDirectory="$(BuildDir)" Command="NuGet.exe pack &quot;$(MSBuildProjectDirectory)&quot;\Service.nuspec -Version &quot;$(BUILD_NUMBER)&quot;" /> 
<!-- Upload the Nuget package --> 
<Exec WorkingDirectory="$(BuildDir)" Command="NuGet.exe push *.nupkg {auth-code} -source https://www.myget.org/{myget-source}" /> 
<!--Removing the Nuget package files created. --> 
<Delete Files="*.nupkg" /> 
</Target> 
</Project> 

注意,「身份驗證代碼」和「myget源」對應於被取代的原因很明顯,實際值。問題是如何在將它們推送到存儲庫後,移除所有Nuget包(* .nupkg)文件。我嘗試傳遞給DeleteFiles函數文件的完整名稱,它的工作原理。所以,我不知道爲什麼當我指定集合時沒有。

回答

1

您不能刪除使用通配符,但可以刪除的文件列表。就像這樣:

<ItemGroup> 
    <OldNuGetPackages Include="$(BuildDir)*.nupkg"/> 
</ItemGroup> 
<Delete Files="@(OldNuGetPackages)"/> 
+0

它的工作太棒了!正是我在找的東西。謝謝 –