I have create new function app in .net 6.0 , I’m getting an error from XslCompiledTransform.Load once after EnableScript. (this works fine in .net framework 4.6.1) I'll share my code segment here for your reference.
private string TransformXslt(XmlReader document, string stylesheet, object[] extension,
XSLTParams[] xsltArguments)
{
var transform = new XslCompiledTransform(true);
transform.Load(stylesheet, new XsltSettings(true, true), null);
var arguments = new XsltArgumentList();
if (xsltArguments != null)
for (var i = 0; i < xsltArguments.Length; i++)
{
var currentParam = xsltArguments[i];
arguments.AddParam(currentParam.name, "", currentParam.value);
}
for (var index = 0; index < extension.Length; index += 2)
arguments.AddExtensionObject(
extension[index] as string,
extension[index + 1]
);
var output = new StringBuilder();
using (var writer = XmlWriter.Create(output, transform.OutputSettings))
{
transform.Transform(document, arguments, writer);
}
return output.ToString();
}
Error

This should support .net 6 as microsoft page XslCompiledTransform.Load Method
but not sure why this failing in transform.Load(stylesheet, new XsltSettings(true, true), null); line.
i should enable scripting because in my xsl i have c# scrips..

According to documentation:
Script blocks are supported only in .NET Framework. They are not supported on .NET Core or .NET 5 or later.
Reference: XSLT compile error-PlatformNotSupportedException: Compiling JScript/CSharp scripts is not supported
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With