最初に結論
アセンブリへの参照がないときは即 NuGet でインストールする前に、参照の追加から追加できないか見てみても良さそうです。
背景
古くから開発しているアプリケーションで HttpWebRequest ではなくHttpClient を使いたいシチュエーションがありました。
早速、使おうとすると HttpClient は System.Net.Http に見つからないと怒られました。
アプリケーションでは .NET Framework 4.8 を使っています。.NET Framework 4.8 では HttpClient は使用できるはずです。
対応方法の案
さて、対策ですが必要なアセンブリが見つからないので下記2つの案がとれます。
- 必要なパッケージを NuGet でインストールする
- 参照の追加から追加する
私は今までは何も考えず NuGet からインストールしていました。
これは最新のものを使いたい場合には有効な手だと思います。(と同僚に教えてもらいました。)
別案として参照の追加で対応できる場合もあることに最近やっと気づきました…。
VisualStudio でプロジェクトの「参照」を右クリック「参照の追加」を押下します。参照の追加ダイアログの中を見てみると、System.Net.Http に参照がついていないことが分かりました。
ただこの方法の場合 System.Net.Http のバージョンは 4.2.0 になりました。最新版は現状 4.3.4 みたいなので最新版が使えるというわけではなさそうです。
このことを踏まえて、どちらの方法で使えるようにするかを検討する必要はありそうです。
そもそも.NET Framework のバージョンを上げたときに、新しいアセンブリの参照は勝手に追加されないようです。自分で追加する必要があるみたいですね。