2012-03-24 38 views
1

最新バージョンのIKVM(7.0.4335.0)を使用して、最新バージョンのHtmlUnit(2.9 )から.Netへ。しかし、WebClientオブジェクトを作成しようとすると、「Provider 'com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl' not found」というエラーがスローされます。私のプロジェクトに必要なアセンブリ。IKVMはcom.sun.org.apache.xerces.internalをcom.sun.org.apache.xercesに変更します。@内部

私はこの名前空間/クラスに到達し、com.sun.org.apache.xercesまで到達することができるかどうか試してみることにしました。しかし、私が内部で入力しようとしたときには、インテリセンスは '@内部'でした。

したがって、com.sun.org.apache.xerces。@ internal.jaxp.DocumentBuilderFactoryImplは存在しますが、com.sun.org.apache.xerces.internal.jaxp.DocuementBuilderFactoryImplは存在しません。正しい名前空間が見つからない場合、これは明らかに問題を引き起こします。助言がありますか?

答えて

1

内部で名前が直接指定されたパッケージは使用しないでください。これは内部パッケージであり、将来変更される可能性があります。

@文字は、予約されたキーワードである名前にアクセスするためのC#構文です。単語 "internal"はC#構文のキーワードです。これは、C#コンパイラがcom.sun.org.apache.xerces.internalをcom.sun.org.apache.xerces.internalに変更することを意味します。

+0

私は直接それを呼んでいません。失敗した行は次のとおりです。 WebClient client = new WebClient(); HtmlUnit WebClientコンストラクタは、この名前空間/クラスを呼び出すものです。私が得意でないのは、それが他のほとんどの人にとって私のためではなく働く理由です。 – light

+1

これはクラスローダーの問題のようです。詳細はhttp://sourceforge.net/apps/mediawiki/ikvm/index.php?title=ClassLoaderを参照してください。スタックトレースが役に立ちます。しかし、これは新しい問題であり、この質問とは関係がありません。 – Horcrux7

+0

それはまさにそれだったです、ありがとう。 – light

関連する問題