我们正在将我们的应用程序从.NET 3.5升级到4.5.2。在测试过程中,加载XSLT时出现以下错误:
抛出异常:System.Xml.dll中的'System.Xml.Xsl.XslLoadException'
其他信息:类型或名称空间名称 名称空间中不存在“ SecurityRulesAttribute” “ System.Security”(您是否缺少程序集引用?)
Dim settings = New XsltSettings(True, True)
Dim xslt = New XslCompiledTransform()
Dim urlResolver = New XmlUrlResolver()
xslt.Load(path, settings, urlResolver) 'getting error here
我们正在使用msxml scripts使用脚本块。 Googling建议我们需要在XsltSettings上将EnableScript设置为true,在我们的情况下(通过构造函数)可以做到这一点。
我使用相同的代码和相同的xslt路径创建了一个独立的控制台应用程序,它运行良好(在.NET 4.5.2本身中)。有人遇到过这个问题吗?
编辑:
可以选择使用XSLT Extension Objects。但是,由于已经存在如此多的msxml
脚本,仍在尝试将其用作首选。