IKVM меняет com.sun.org.apache.xerces.internal на com.sun.org.apache.xerces. @ Internal - PullRequest
1 голос
/ 24 марта 2012

Я использовал последнюю сборку IKVM (7.0.4335.0), чтобы преобразовать новейшую версию HtmlUnit (2.9) в .Net.Однако, когда я пытаюсь создать объект WebClient, он выдает ошибку: «Поставщик» com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl «не найден». Я подумал, что это было странно, потому что я включил всеНужны сборки в моем проекте.

Затем я решил попытаться увидеть, смогу ли я добраться до этого пространства имен / класса и дойти до com.sun.org.apache.xerces, но затем, когда я попытался ввести внутренний, единственный вариант, который яимел через intellisense был '@internal'.

Поэтому com.sun.org.apache.xerces. @ Internal.jaxp.DocumentBuilderFactoryImpl существует, но com.sun.org.apache.xerces.internal.jaxp.DocuementBuilderFactoryImpl не существует.Это, очевидно, создает проблему, когда он не может найти правильное пространство имен.Есть предложения?

1 Ответ

1 голос
/ 25 марта 2012

Вы не должны использовать пакеты с внутренним именем. Это внутренние пакеты, которые могут измениться в будущем.

Символ @ является синтаксисом C # для доступа к именам, которые являются зарезервированными ключевыми словами. Слово «внутренний» является ключевым словом в синтаксисе C #. Это означает, что компилятор C # изменил com.sun.org.apache.xerces. @ Internal на com.sun.org.apache.xerces.internal.

...