Skip to content

[Breaking change]: System.Xml.Xsl.XsltSettings.EnableScript Property marked as Obsolete #47504

@jeffhandley

Description

@jeffhandley

Description

XSLT Script blocks are supported only in .NET Framework and are not supported on .NET Core or .NET 5+. The EnableScript property has no legitimate value on modern .NET.

Version

.NET 10 RC 1

Previous behavior

  • When set to false: simply skips script blocks (expected behavior anyway)
  • When set to true: throws PlatformNotSupportedException (script compilation not supported)

New behavior

The System.Xml.Xsl.XsltSettings.EnableScript property is now marked as [Obsolete] with the diagnostic ID of SYSLIB0062.

See Obsolete XsltSettings.EnableScript with SYSLIB0062 (dotnet/runtime#117701) for the changes.

Type of breaking change

  • Binary incompatible: Existing binaries might encounter a breaking change in behavior, such as failure to load or execute, and if so, require recompilation.
  • Source incompatible: When recompiled using the new SDK or component or to target the new runtime, existing source code might require source changes to compile successfully.
  • Behavioral change: Existing binaries might behave differently at run time.

Reason for change

Obsoleting this API turns a runtime error into a build warning, providing better guidance for migration.

Recommended action

Call sites should be reviewed for any assumptions made about the behavior of this property. References to the property can most likely be removed since the property did not truly enable script blocks previously.

Feature area

Core .NET libraries

Affected APIs

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

Status

🔖 Ready

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions