我正在开发一个涉及 XSLT 的项目。并希望在我的 XSLT 中使用 C# 脚本。 就像下面的链接一样。 XSLT 1.0 Get Current DateTime
虽然我遇到了这篇知识库文章 http://support.microsoft.com/kb/316775说这会导致多次加载样式表时出现内存泄漏。
知识库文章没有说明哪些 .NET 版本受到影响。任何人都可以建议这是否已在 .NET 2.0 或更高版本中修复?
我的目标环境有 .NET 2.0 和 3.5,尽管执行 XSLT 转换的代码被编译为 .NET 2.0。
注意:我无法控制运行转换的代码。我只能写XSLT
最佳答案
这首先不是一个错误。
更重要的是,这是完全可以避免的。
解决方案是:不使用内联脚本,而是使用包含所需扩展函数的扩展对象。
有关如何将扩展函数编写为扩展对象的一部分的更多信息 - 对于 XslCompiledTransform,可以在此处找到:
http://msdn.microsoft.com/en-us/library/tf741884
这里有一个完整的代码示例:
http://msdn.microsoft.com/en-us/library/system.xml.xsl.xsltargumentlist.addextensionobject
关于.net - .NET 2 或 .NET 4 中的 msxsl 内存泄漏错误是否已修复?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11007850/