This documentation is archived and is not being maintained.

Package.CreatePartCore Method

When overridden in a derived class, creates a new part in the package.

Namespace:  System.IO.Packaging
Assembly:  WindowsBase (in WindowsBase.dll)

protected abstract PackagePart CreatePartCore(
	Uri partUri,
	string contentType,
	CompressionOption compressionOption


Type: System.Uri
The uniform resource identifier (URI) for the part being created.
Type: System.String
The content type of the data stream.
Type: System.IO.Packaging.CompressionOption
The compression option for the data stream.

Return Value

Type: System.IO.Packaging.PackagePart
The created part.

The derived CreatePartCore method is called by the CreatePart method to create a part based on the physical format implemented in the derived class.

By default, a ZipPackage derived class implementation of the abstract Package class is provided and used. In the default operation, CreatePart internally calls CreatePartCore of the ZipPackage class to create a new part in a ZIP file.

For the default ZipPackage derived class, the CreatePartCore method only supports two compressionOption values, NotCompressed or Normal compression. Other CompressionOption values of Maximum, Fast, or SuperFast use Normal compression.

For more information about the package model and package parts, see Chapter 1 of the Open Packaging Conventions (OPC) specification available for download at

Notes to Inheritors

The derived CreatePartCore implementation should make no assumptions about the order or operations performed by the CreatePart method that calls it.

.NET Framework

Supported in: 4, 3.5, 3.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.