private static Func<Stream> ReverseTransform(IPackageFile file, IEnumerable<IPackageFile> transforms) { // Get the original XElement element = GetElement(file); // Remove all the transforms foreach (var transformFile in transforms) { element.Except(GetElement(transformFile)); } // Create the stream with the transformed content var ms = new MemoryStream(); element.Save(ms); ms.Seek(0, SeekOrigin.Begin); return ms.ToStreamFactory(); }
private ZipPackage CreatePackage(IEnumerable<string> files = null, IEnumerable<FrameworkAssemblyReference> assemblyReferences = null, bool enableCaching = false) { var packageBuilder = new PackageBuilder { Id = "Test-Package", Version = new SemanticVersion("1.0"), Description = "Test descr", }; packageBuilder.Authors.Add("test"); if (files != null) { packageBuilder.Files.AddRange(files.Select(CreateFile)); } if (assemblyReferences != null) { packageBuilder.FrameworkReferences.AddRange(assemblyReferences); } var memoryStream = new MemoryStream(); packageBuilder.Save(memoryStream); memoryStream.Seek(0, SeekOrigin.Begin); return new ZipPackage(memoryStream.ToStreamFactory(), enableCaching: enableCaching); }