HtmlAgilityPackの依存関係とターゲットフレームワークの設定

1. 対応するターゲットフレームワーク

HtmlAgilityPackは、以下の.NETプラットフォームに対応しています。

フレームワーク バージョン例
.NET Framework 4.6.1 以降(推奨)
.NET Core 2.0 以降(.NET Core 3.1推奨)
.NET 5 / .NET 6 / .NET 7+ 完全対応

ターゲットフレームワークを選定する際は、プロジェクトで使用する他のライブラリとの互換性も確認してください。特に古い.NET Framework(4.5以前)では、HtmlAgilityPackの最新版が動作しない場合があります。

設定方法(例: .NET Core)

.csproj ファイルに以下のように記述します。

xml
<TargetFramework>net6.0</TargetFramework>

または、複数のフレームワークをターゲットにする場合:

xml
<TargetFrameworks>net461;net6.0</TargetFrameworks>

2. NuGetパッケージの依存関係

HtmlAgilityPackの導入には、NuGetを使用するのが一般的です。NuGetからインストールすることで、自動的に依存関係も解決されます。

インストールコマンド(.NET CLI使用時)

bash
dotnet add package HtmlAgilityPack

Visual Studioでの手順

  • ソリューションエクスプローラーからプロジェクトを右クリック

  • 「NuGet パッケージの管理」を選択

  • 「参照」タブで HtmlAgilityPack を検索し、インストール

HtmlAgilityPack自体には他のライブラリへの大きな依存はなく、軽量な構造になっています。


3. 推奨設定

  • LangVersionlatest に設定しておくと、新しいC#構文が使用できるため、HAPのコード記述が簡素になります。

  • .NET 6以上では、HAPと組み合わせてSystem.Text.Jsonなどの他のライブラリと併用することで、HTMLとJSONの混合処理がしやすくなります。

.csproj の例

xml
<PropertyGroup> <TargetFramework>net6.0</TargetFramework> <LangVersion>latest</LangVersion> </PropertyGroup>

4. 注意点

  • ターゲットフレームワークが古すぎると、インストール時に「互換性のあるバージョンが見つからない」といったエラーが出ることがあります。

  • HAPのバージョンによっては、非推奨(deprecated)のAPIが含まれる可能性がありますので、公式リポジトリで対応バージョンを確認しておくことが重要です。


必要に応じて、実際のHtmlDocumentHtmlNodeの使用例と組み合わせることで、構築後すぐにHTML解析を始めることが可能になります。構築段階では、ターゲットフレームワークとライブラリの整合性を最優先に確認してください。

ChatGPT4o 生成日:2025/06/23