2016-07-22 17 views
0

Ich habe eine Build.xml-Datei geschrieben, um ein Nuget-Paket für ein Modul in meiner Lösung zu erstellen und es dann in ein MyGet-Repository hochzuladen. Danach möchte ich die erzeugte nupkg-Datei entfernen, um das Paket nur im Repository zu behalten. Der erste Schritt funktioniert gut, aber nicht der entfernende Teil. Ich versuche dies:So löschen Sie mehrere Nuget-Paketdateien in 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> 

Beachten Sie, dass „Auth-Code“ und „myget-Quelle“ entspricht den tatsächlichen Werten, die aus offensichtlichen Gründen ersetzt wurden. Die Frage ist, wie Sie alle Nuget-Pakete (* .nupkg) entfernen können, nachdem Sie sie in das Repository verschoben haben. Ich habe versucht, an die Funktion DeleteFiles den vollständigen Namen einer Datei zu übergeben, und es funktioniert. Also, ich weiß nicht, warum es nicht, wenn ich den Satz angeben.

Antwort

1

Sie können nicht mit Platzhaltern löschen, aber Sie können eine Liste von Dateien löschen. Gefällt mir:

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

Es hat super funktioniert! Genau das, wonach ich gesucht habe. Vielen Dank –