PackageRelationship.TargetMode PackageRelationship.TargetMode PackageRelationship.TargetMode PackageRelationship.TargetMode Property


Gets a value that indicates whether the target of the relationship is Internal or External to the Package.

 property System::IO::Packaging::TargetMode TargetMode { System::IO::Packaging::TargetMode get(); };
public System.IO.Packaging.TargetMode TargetMode { get; }
member this.TargetMode : System.IO.Packaging.TargetMode
Public ReadOnly Property TargetMode As TargetMode

Property Value

An enumeration value that indicates whether TargetUri references a resource Internal or External to the Package.


The TargetMode is specified in the call to the Package.CreateRelationship or PackagePart.CreateRelationship method that created the relationship. After the relationship is created the TargetMode cannot be changed.

When TargetMode is Internal, the TargetUri MUST be a relative reference. For a package-level relationship, the relative reference of the TargetUri is resolved relative to the pack URI of the source package that owns and contains the relationship. (Example source package pack URI: "pack://http:,,,files,datapak.package/".) For a part-level relationship, the TargetUri is resolved relative to the source part that owns the relationship (TargetUri is interpreted relative to SourceUri).

When TargetMode is External, the TargetUri can be either a relative reference or a fully qualified URI. If the TargetUri is a relative reference, the reference is interpreted as relative to the location of the Package that contains this relationship.

For more information about TargetMode see Section 1.3.3 "Relationship Markup" of the Open Packaging Conventions specification available for download at

Applies to

See also