private static async Task <IEnumerable <string> > CopySatelliteFilesAsync( PackageReaderBase packageReader, PackagePathResolver packagePathResolver, PackageSaveMode packageSaveMode, PackageExtractionContext packageExtractionContext, CancellationToken token) { if (packageReader == null) { throw new ArgumentNullException(nameof(packageReader)); } if (packagePathResolver == null) { throw new ArgumentNullException(nameof(packagePathResolver)); } if (packageExtractionContext == null) { throw new ArgumentNullException(nameof(packageExtractionContext)); } await VerifyPackageSignatureAsync(packageReader.GetIdentity(), packageExtractionContext, packageReader, token); var satelliteFilesCopied = Enumerable.Empty <string>(); var result = await PackageHelper.GetSatelliteFilesAsync(packageReader, packagePathResolver, token); var runtimePackageDirectory = result.Item1; var satelliteFiles = result.Item2 .Where(file => PackageHelper.IsPackageFile(file, packageSaveMode)) .ToList(); if (satelliteFiles.Count > 0) { var packageFileExtractor = new PackageFileExtractor(satelliteFiles, packageExtractionContext.XmlDocFileSaveMode); // Now, add all the satellite files collected from the package to the runtime package folder(s) satelliteFilesCopied = await packageReader.CopyFilesAsync( runtimePackageDirectory, satelliteFiles, packageFileExtractor.ExtractPackageFile, packageExtractionContext.Logger, token); } return(satelliteFilesCopied); }