为什么在 .NET 中使用 Apache FOP 时会出现 TransformerFactoryConfigurationError?

Why am I getting a TransformerFactoryConfigurationError when using Apache FOP in .NET?

我有一个使用 Apache FOP 的 .NET 应用程序(我使用 IKVM 来制作被引用的 DLL)并且我已经能够使用与提供的代码类似的代码创建 PDF here。该代码在我的机器和开发服务器上运行良好。

现在,当其他人试图 运行 他们机器上的代码时,他们得到 TransformerFactoryConfigurationError。完整的错误是 Provider com.sun.org.apache.xalan.internal.xsltc.trax.TransformerFactoryImpl not found.

错误发生在这一行:

TransformerFactory factory = TransformerFactory.newInstance();

我们的机器之间的配置没有任何不同,我无法弄清楚为什么程序在我的机器上继续正常工作,但在这个人的机器上却不行。

关于如何修复此错误或要检查的内容有什么想法吗?

我不太清楚为什么这首先不起作用,但我找到了一种方法使它在我们的两台机器上都起作用。

首先,将此 using 语句添加到文件中:

using com.sun.org.apache.xalan.@internal.xsltc.trax;

然后改变这个:

TransformerFactory factory = TransformerFactory.newInstance();

对此:

TransformerFactory factory = new TransformerFactoryImpl();