HtmlAgilityPack이있는 HTML Linq 또는 PCL의 대안

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

문제

.NET 4 프로젝트를 작성했으며 현재 Windows Phone에서도 실행할 수 있습니다. HTML을 통해 Linq 쿼리를 허용하는 잘 알려진 라이브러리 인 HtmlAgilityPack을 사용하고 있으며 LoadHtmlLinq 인터페이스 만 사용하고 있습니다.

NET 4와 WP8을 지원하는 클래스 라이브러리를 .NET 4에서 PCL (Portable Class Library)로 변환하면 더 이상 HtmlAgilityPack 라이브러리를 사용할 수 없습니다. HtmlAgilityPack이 PCL 프로젝트에서 올바르게 작동하도록하는 방법이 있습니까? 아니면 의도 한대로 작동하는 비슷한 Linq 인터페이스를 사용하는 다양한 변수가 있습니까?

편집 : HtmlAgilityPack는 PCL과 호환되지 않는 9 가지 버전을 제공합니다. 그들 중 누구도 참조에서 종속성을 해결하지 못합니다. 일부 버전에서는 사용하는 것처럼 보일 수 있지만 일반적으로 '확인할 수없는 종속성을로드 할 수 없습니다'오류가 발생합니다.

편집 # 2 간단한 설명을 놓치기 쉽기 때문에, 나는이 해답을 내가 생각해 낸 해결책으로 업데이트 할 것이다. 기본 기능에 필요한 요소를 추출하고 누락 된 구성 요소를 구현하여 모든 작업을 수행했습니다. 결과는 https://github.com/Deathspike/HtmlAgilityPack-PCL입니다.

수락 된 답변

당신은 당신 자신의 질문에 답하고 대답했습니다 - 그렇지 않습니까?

HtmlAgilityPack은 휴대용 클래스 라이브러리와의 사용을 지원하지 않습니다.

기껏해야 사용중인 플랫폼에서 작동하는 방식으로 필요한 특정 기능을 이식 / 마이그레이션해야합니다.


인기 답변

한 가지 옵션은 HTML 민첩성 팩 소스 코드를 PCL로 이식하는 것입니다. PCL Compliance Analyzer 를 실행하여 이것이 얼마나 힘들 수 있는지 아이디어를 얻을 수 있습니다.

또는 추상화 패턴을 사용하십시오. 필요한 기능 (예 : LoadHtmlLinq )을위한 이식 가능한 인터페이스를 만든 다음 HTML 민첩성 팩을 호출하여 각 플랫폼에 해당 인터페이스를 구현하십시오. 그런 다음 이식 가능한 코드는 플랫폼 별 구현에 따라 달라질 수 있습니다.

자세한 내용은이 블로그 게시물, 휴대용 클래스 라이브러리를 만드는 방법을 참조하십시오.




아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.