我编写了一个Build.xml文件,为我的解决方案上的模块创建一个Nuget包,然后将其上传到MyGet存储库。之后,我想删除生成的nupkg文件,以便仅将包保存在存储库中。第一步是工作正常但不是删除部分。我试过这个:
<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 "$(MSBuildProjectDirectory)"\Service.nuspec -Version "$(BUILD_NUMBER)"" />
<!-- 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>
请注意&#34; auth-code&#34;和&#34; myget-source&#34;对应于由于显而易见的原因而被替换的实际值。问题是如何在将它们推送到存储库后删除所有Nuget包(* .nupkg)文件。我尝试将DeleteFiles函数传递给文件的完整名称并且它可以正常工作。所以,当我指定集合时,我不知道为什么它没有。
答案 0 :(得分:1)
您无法使用通配符删除,但可以删除文件列表。像这样:
<ItemGroup>
<OldNuGetPackages Include="$(BuildDir)*.nupkg"/>
</ItemGroup>
<Delete Files="@(OldNuGetPackages)"/>