HtmlAgilityPackのHTML Linq、またはPCLの代替

.net c# html-agility-pack portable-class-library windows-phone-8

質問

私は.NET 4上でプロジェクトを書いており、現在Windows Phoneでも実行できるようにしています。私はHtmlAgilityPackを使用しています.HtmlAgilityPackはHTML上でLinqの問い合わせを可能にするよく知られたライブラリで、 LoadHtmlLinqのインタフェースを使用しています。

.NET 4とWP8をサポートしている.NET 4からPCL(ポータブルクラスライブラリ)にクラスライブラリを変換したので、私はもはやHtmlAgilityPackライブラリを使用できないようです。 HtmlAgilityPackがPCLプロジェクトの下で正しく機能するようにする方法はありますか?それとも、意図したとおりに動作する同様のLinqインターフェースを持つ変数がありますか?

編集 :HtmlAgilityPackは9種類のバージョンを提供していますが、いずれもPCLと互換性がありません。それらの誰も参照からの依存関係を解決しません。いくつかのバージョンでは、使用されているように見えるかもしれませんが、通常の 'can not load、unresolved dependencies'というエラーがスローされます。

編集#2小さなコメントを見逃しやすいので、私は思いついた解決策でこの答えを更新します。基本的な機能に必要なものを抽出し、欠落したコンポーネントを実装してすべてを機能させるようにしました。結果はhttps://github.com/Deathspike/HtmlAgilityPack-PCLです

受け入れられた回答

あなたはあなた自身の質問に尋ねて答えました - あなたはありませんか?

HtmlAgilityPackは、ポータブルクラスライブラリでの使用をサポートしていません。

あなたが使用しているプラ​​ットフォームで動作するように、必要な特定の機能を移植/移行することを検討する必要があります。


人気のある回答

1つの選択肢は、HTMLアジャイルパックのソースコードをPCLに移植することです。 PCLコンプライアンスアナライザを実行すると、これがどれほど難しいかを知ることができます。

あるいは、抽象パターンを使用します。必要な機能(つまりLoadHtmlLinq )用のポータブルインターフェイスを作成し、HTMLアジリティパックを呼び出すことで各プラットフォーム用のインターフェイスを実装します。その後、ポータブルコードはプラットフォーム固有の実装に依存する可能性があります。

詳細については、このブログの記事を参照してください。ポータブルクラスライブラリをあなたに役立てる方法




ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ