Beispiel #1
0
        private static void TryUpdatePackageId(ZipPackage package, string signedPackageId)
        {
            // Update package id
            var manifestRelationType = package.GetRelationshipsByType("http://schemas.microsoft.com/packaging/2010/07/manifest").SingleOrDefault();

            if (manifestRelationType != null)
            {
                var manifestPart = package.GetPart(manifestRelationType.TargetUri);
                var manifest     = Manifest.ReadFrom(manifestPart.GetStream(), NullPropertyProvider.Instance, false);
                manifest.Metadata.Id = signedPackageId;

                package.DeleteRelationship(manifestRelationType.Id);
                package.DeletePart(manifestPart.Uri);

                Uri uri             = PackUriHelper.CreatePartUri(new Uri(string.Format("/{0}.nuspec", signedPackageId), UriKind.Relative));
                var newManifestPart = package.CreatePart(uri, "application/octet", CompressionOption.Maximum);
                manifest.Save(newManifestPart.GetStream(FileMode.Create));
                package.CreateRelationship(uri, TargetMode.Internal, "http://schemas.microsoft.com/packaging/2010/07/manifest");
            }
        }
        private static void TryUpdatePackageId(ZipPackage package, string signedPackageId)
        {
            // Update package id
            var manifestRelationType = package.GetRelationshipsByType("http://schemas.microsoft.com/packaging/2010/07/manifest").SingleOrDefault();
            if (manifestRelationType != null)
            {
                var manifestPart = package.GetPart(manifestRelationType.TargetUri);
                var manifest = Manifest.ReadFrom(manifestPart.GetStream(), NullPropertyProvider.Instance, false);
                manifest.Metadata.Id = signedPackageId;

                package.DeleteRelationship(manifestRelationType.Id);
                package.DeletePart(manifestPart.Uri);

                Uri uri = PackUriHelper.CreatePartUri(new Uri(string.Format("/{0}.nuspec", signedPackageId), UriKind.Relative));
                var newManifestPart = package.CreatePart(uri, "application/octet", CompressionOption.Maximum);
                manifest.Save(newManifestPart.GetStream(FileMode.Create));
                package.CreateRelationship(uri, TargetMode.Internal, "http://schemas.microsoft.com/packaging/2010/07/manifest");
            }
        }