/// <summary> /// Repack the VSIX with the signed parts from the binaries directory. /// </summary> private void Repack(VsixData vsixData) { using (var package = Package.Open(vsixData.Name.FullPath, FileMode.Open, FileAccess.ReadWrite)) { foreach (var part in package.GetParts()) { var relativeName = GetPartRelativeFileName(part); var vsixPart = vsixData.GetNestedBinaryPart(relativeName); if (!vsixPart.HasValue) { continue; } using (var stream = File.OpenRead(vsixPart.Value.BinaryName.FullPath)) using (var partStream = part.GetStream(FileMode.Open, FileAccess.ReadWrite)) { stream.CopyTo(partStream); partStream.SetLength(stream.Length); } } } }