1

我使用最新版本的 IKVM (7.0.4335.0) 将最新版本的 HtmlUnit (2.9) 转换为 .Net。但是,当我尝试创建一个 WebClient 对象时,它会抛出一个错误,提示“找不到提供程序 'com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl'”我认为这很奇怪,因为我已经包含了所有我的项目中需要的程序集。

然后我决定尝试看看我是否可以到达这个命名空间/类并到达 com.sun.org.apache.xerces,但是当我尝试输入 internal 时,我通过智能感知获得的唯一选项是'@内部的'。

因此,com.sun.org.apache.xerces.@internal.jaxp.DocumentBuilderFactoryImpl 存在,但 com.sun.org.apache.xerces.internal.jaxp.DocuementBuilderFactoryImpl 不存在。当找不到正确的命名空间时,这显然会带来问题。有什么建议么?

4

1 回答 1

1

您不应该直接使用名称为 internal 的包。这是内部软件包,将来可能会更改。

@ 字符是 C# 语法,用于访问保留关键字的名称。“内部”一词是 C# 语法中的关键字。这意味着 C# 编译器将 com.sun.org.apache.xerces.@internal 更改为 com.sun.org.apache.xerces.internal。

于 2012-03-25T09:07:34.790 回答