HttpClient
のパッケージ化と混同しています。以前はMicrosoft.Http.Net
はレガシーと見なされていましたが、System.Net.Http
NuGetパッケージの一部として配布されました。今は逆のように見えます:すべてのプラットフォーム用の新しいSystem.Net.Http
パッケージがあり、Microsoft.Net.Http
はしばらく更新されておらず、Microsoft開発チームの人々は非推奨になるとのことです。
次に質問:
Microsoft.Net.Http
NuGetパッケージへの依存関係を(最新の)System.Net.Http
に置き換えることはできますか?Microsoft.Net.Http
を使用する必要がありますか? Windows以外のプラットフォーム(iOS、Android)についてはどうですか?新しいSystem.Net.Http
はそれらをサポートしますが、私はMicrosoft.Net.Http
で覚えています。クロスプラットフォームのものを機能させるには、Microsoft.Bcl.Build
とMicrosoft.Bcl
を追加でインストールする必要がありました。 System.Net.Http
はそれらに依存しません。 Bclパッケージをスキップできますか?System.Net.Http
にはSupportsPreAuthenticate
などの一部のHttp拡張メソッドがなく、これらのメソッドを呼び出そうとするとランタイムエラーが発生します(メソッドがありません)。これにどのように対処する必要がありますか?これは長い間続いており、混乱し続けています。私はそのようなメッセージを自分で見ましたが、現時点では System.Net.Http が正しい選択であるように見えます。少なくともWindowsプラットフォームの.NETの場合、外部依存関係はありません。
.NET Coreでは Microsoft.Net.Http を使用しましたが、 Microsoft.BCL が必要です。問題が発生していない限り、特にこれらの名前空間はターゲットを移動しているように見えるため、レガシーシステムをそのままにすることをお勧めします。
それでも十分にわかりにくい場合は、System.Net.Http
からリンクされている HttpClient Sample が使用する Windows.Web.Http !この実装はWindowsストアアプリ用です。
おそらく来年はこれが再び変わるでしょう。