dotnet/wpf · error · XpsPackagingException
ReachPackaging_NotValidSignatureDefinitionAttribute
Error message
ReachPackaging_NotValidSignatureDefinitionAttribute
What it means
ValidateSignatureDefinitionAttribute throws this XpsPackagingException when ReadAttributes encounters an attribute name on a signature definition element that is not one of the recognized attributes (SpotID, SignerName, xml:lang, etc.). It signals an unexpected/invalid attribute in the SignatureDefinition XML of the XPS package.
Solutions
- Only write recognized attributes (SpotId, SignerName, xml:lang, SignBy, SigningLocale, Intent) inside the SignatureDefinition element
- Remove the unrecognized attribute from the XPS SignatureDefinition markup
- If reading third-party markup, catch XpsPackagingException around ParseSignatureDefinitions and skip malformed definitions
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at src/Microsoft.DotNet.Wpf/src/ReachFramework/Packaging/XPSSignatureDefinition.cs:500 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of dotnet/wpf@81131a70a4 (2026-09-14).
Data as JSON: /api/errors/c656d054537a1bef.
Report an issue: GitHub.
Appendix: source
Thrown at src/Microsoft.DotNet.Wpf/src/ReachFramework/Packaging/XPSSignatureDefinition.cs:500
{
SpotId = new Guid(XmlConvert.DecodeName(attributeValue));
}
catch (ArgumentNullException)
{
SpotId = null;
}
catch (FormatException)
{
SpotId = null;
}
}
else if (attributeName == XpsS0Markup.XmlLang)
{
Culture = new CultureInfo(attributeValue);
}
else
{
throw new XpsPackagingException(SR.Format(SR.ReachPackaging_NotValidSignatureDefinitionAttribute, attributeName));
}
}
private
void
ValidateSpotLocationAttribute( string attributeName, string attributeValue )
{
ConfirmSpotLocation();
if (attributeName == XpsS0Markup.StartX)
{
SpotLocation.StartX = double.Parse(attributeValue, System.Globalization.CultureInfo.InvariantCulture);
}
else if (attributeName == XpsS0Markup.StartY)
{
SpotLocation.StartY = double.Parse(attributeValue, System.Globalization.CultureInfo.InvariantCulture);
}
else if (attributeName == XpsS0Markup.PageUri)View on GitHub (pinned to 81131a70a4)