问题描述
我有一个.Net Core 3.1应用程序和一个XSLT 2.0脚本。现在,脚本应由应用程序执行。
首先我尝试:
//Create a new xslcompiledtransform and load the compiled transformation.
xslcompiledtransform xslt = new xslcompiledtransform();
xslt.Load(typeof(Transform));
// Execute the transformation and output the results to a file.
xslt.Transform("books.xml","discount_books.html");
但这似乎只适用于.net框架,并且仅适用于XSLT 1.0。
否,我没有找到Nuget-Package Saxon-HE-fixedrefs,根据说明,它应该与.net core兼容。但是在编译时,第一行出现错误
Saxon.Api.Processor proc = new Saxon.Api.Processor();
“ System.TypeInitializationException:“'net.sf.saxon.Configuration'的类型初始化程序引发了异常。”
FileNotFoundException:无法加载文件或程序集'System.Configuration.ConfigurationManager,版本= 4.0.3.0,区域性=中性,PublicKeyToken = cc7b13ffcd2ddd51'。 “
有什么解决方法吗?
解决方法
您将必须与软件包所有者Max Toro联系,以了解为何Saxon-HE-fixedrefs无法按所述方式工作。尽管该软件包描述声称它是未经修改的Saxonica代码,但Saxonica并未分发或支持该软件包,就我们在Saxonica而言,我们认为Saxon无法在.NET Core上运行。
我们知道需要在.NET Core上运行的Saxon版本,并且正在寻求各种途径来实现这一目标,但是我们所依赖的IKVM技术不支持Core,并且原始开发人员Jeroen Frijters不再维护它,所以我们不能做出任何承诺。