.net - 命名空间 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
脚本,仍然尝试将它们用作第一选择。
解决方案
推荐阅读
- c# - 如何每 x 次通过一个 for 循环
- c# - 如何将复杂的 IRestresponse 反序列化为 C# 对象列表
- javascript - Flow Builder(可视化编辑器)
- php - 无效参数:查询中未定义令牌帐户
- flask - WTForms booleanfield 总是返回 True
- android - 应用程序处于打盹模式时显示警报通知?
- sql - SQL:如何将值从一个键复制到另一个键
- reactjs - 使用 react-app-rewired 和 customize-cra 时如何配置 Jest?
- c# - 如何对 JObject 数组进行排序?
- c# - 如何使用gridview将每个变量放在单独的列中