public override bool Execute() { NuGetVersion version; if (!NuGetVersion.TryParse(PackageVersion, out version)) { throw new ArgumentException(string.Format( CultureInfo.CurrentCulture, Strings.InvalidPackageVersion, PackageVersion)); } var symbolPackageFormat = PackArgs.GetSymbolPackageFormat(MSBuildStringUtility.TrimAndGetNullForEmpty(SymbolPackageFormat)); var nupkgFileName = PackCommandRunner.GetOutputFileName(PackageId, version, isNupkg: true, symbols: false, symbolPackageFormat: symbolPackageFormat); var nuspecFileName = PackCommandRunner.GetOutputFileName(PackageId, version, isNupkg: false, symbols: false, symbolPackageFormat: symbolPackageFormat); var outputs = new List <ITaskItem>(); outputs.Add(new TaskItem(Path.Combine(PackageOutputPath, nupkgFileName))); outputs.Add(new TaskItem(Path.Combine(NuspecOutputPath, nuspecFileName))); if (IncludeSource || IncludeSymbols) { var nupkgSymbolsFileName = PackCommandRunner.GetOutputFileName(PackageId, version, isNupkg: true, symbols: true, symbolPackageFormat: symbolPackageFormat); var nuspecSymbolsFileName = PackCommandRunner.GetOutputFileName(PackageId, version, isNupkg: false, symbols: true, symbolPackageFormat: symbolPackageFormat); outputs.Add(new TaskItem(Path.Combine(PackageOutputPath, nupkgSymbolsFileName))); outputs.Add(new TaskItem(Path.Combine(NuspecOutputPath, nuspecSymbolsFileName))); } OutputPackItems = outputs.ToArray(); return(true); }