如何从.NET 1.1应用程序使用.NET 2.0 XSLT引擎?

时间:2009-06-03 13:40:49

标签: .net xslt transform

我正在开发一个.NET 1.1程序集,它可以执行许多巨大的XSL转换。这开始引起记忆问题。因此,我想在.NET 2.0框架中使用XSLT引擎,因为我知道它更有效,资源更少。注意:由于时间和预算的限制(超出我的控制范围),目前不能将.NET 1.1程序集升级到.NET 2.0。

我编写了一个可以进行XSL转换的.NET 2.0程序集,并将其作为COM + interop对象公开。当我从.NET 1.1程序集加载此对象时,它加载正常,但是一旦我加载XSL转换,就会发生异常,并且它不包含任何有用的信息。

有趣的是,如果我在.NET 2.0程序集中调用一个更简单,不相关的测试方法(就像只写入事件日志而不是进行转换的方法),它似乎有效。

关于替代方法的任何想法?或者有什么明显我做错了吗?

任何帮助将不胜感激!谢谢!

2 个答案:

答案 0 :(得分:1)

我怀疑单独的COM互操作会杀死你将XSLT升级到2.0所带来的任何性能提升。可能也与无用的例外有关。

您是否尝试在2.0下运行1.1程序集?有关如何定位特定版本框架的说明,请参阅this page。我对底层的XSLT引擎并不十分熟悉,但只是切换目标可能会让你获得2.0的玩具,它肯定会让你获得2.0的性能。

答案 1 :(得分:0)

考虑msxsl.exe tool上的Process.Start()。它不使用.NET。或者,如果您正在进行COM互操作,请考虑使用MSXML - 它也会执行XSL,并且它很快。