LoginSignup
9
7

アセンブリの参照がないとき =>「即 NuGet でインストール」とする前に

Posted at

最初に結論

アセンブリへの参照がないときは即 NuGet でインストールする前に、参照の追加から追加できないか見てみても良さそうです。

背景

古くから開発しているアプリケーションで HttpWebRequest ではなくHttpClient を使いたいシチュエーションがありました。

早速、使おうとすると HttpClient は System.Net.Http に見つからないと怒られました。
image.png

アプリケーションでは .NET Framework 4.8 を使っています。.NET Framework 4.8 では HttpClient は使用できるはずです。

image.png

対応方法の案

さて、対策ですが必要なアセンブリが見つからないので下記2つの案がとれます。

  1. 必要なパッケージを NuGet でインストールする
  2. 参照の追加から追加する

私は今までは何も考えず NuGet からインストールしていました。
これは最新のものを使いたい場合には有効な手だと思います。(と同僚に教えてもらいました。)
別案として参照の追加で対応できる場合もあることに最近やっと気づきました…。

VisualStudio でプロジェクトの「参照」を右クリック「参照の追加」を押下します。参照の追加ダイアログの中を見てみると、System.Net.Http に参照がついていないことが分かりました。

image.png

チェックを入れるとエラーが消えました。
image.png

ただこの方法の場合 System.Net.Http のバージョンは 4.2.0 になりました。最新版は現状 4.3.4 みたいなので最新版が使えるというわけではなさそうです。
このことを踏まえて、どちらの方法で使えるようにするかを検討する必要はありそうです。

image.png

そもそも.NET Framework のバージョンを上げたときに、新しいアセンブリの参照は勝手に追加されないようです。自分で追加する必要があるみたいですね。

9
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
7