2016-07-22 46 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

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