首页 > 解决方案 > 命名空间 System.Security 中不存在类型或命名空间名称 SecurityRulesAttribute

问题描述

我们正在将我们的应用程序从 .NET 3.5 升级到 4.5.2。在测试期间,加载 XSLT 时,出现以下错误:

抛出异常:System.Xml.dll 中的“System.Xml.Xsl.XslLoadException”

附加信息:命名空间“System.Security”中不存在类型或命名空间名称“SecurityRulesAttribute”(您是否缺少程序集引用?)

    Dim settings = New XsltSettings(True, True)
    Dim xslt = New XslCompiledTransform()
    Dim urlResolver = New XmlUrlResolver()

    xslt.Load(path, settings, urlResolver) 'getting error here

我们正在使用使用msxml 脚本的脚本块。谷歌搜索建议我们需要在 XsltSettings 上将 EnableScript 设置为 true,这在我们的案例中完成(通过构造函数)。

我使用相同的代码和相同的 xslt 路径创建了一个独立的控制台应用程序,它工作正常(在 .NET 4.5.2 本身中)。有没有人遇到过这个问题?

编辑:

有使用XSLT Extension Objects的选项。但是已经存在这么多msxml脚本,仍然尝试将它们用作第一选择。

标签: .netxsltmsxml

解决方案


推荐阅读