1. ホーム
  2. .net-assembly

[解決済み] 不足しているアセンブリ(System.Net.Http.Formatting)をどこから参照すればよいですか?

2022-03-04 13:57:29

質問

Visual Studio 2013 RC プロジェクトで、次のようなエラーメッセージが表示されます。

" 型 'System.Net.Http.Formatting.MediaTypeFormatter' が定義されています。 が参照されていないアセンブリにあります。への参照を追加する必要があります。 アセンブリ 'System.Net.Http.Formatting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' です。 "。

...上の "var response = " の行は、Controller のコードです。

public HttpResponseMessage PostDelivery(Delivery delivery)
{
    delivery = repository.Add(delivery);
    var response = Request.CreateResponse<Delivery>(HttpStatusCode.Created, delivery);

    string uri = Url.Link("DefaultApi", new { id = delivery.Id });
    response.Headers.Location = new Uri(uri);
    return response;
}

ハードディスクを検索して、必要なアセンブリ ("System.Net.Http.Formatting") が存在するいくつかの場所を表示しましたが、ここに見られるように、それらはすべて既存のプロジェクト内にあります。

System.Net.Http.Formatting.dll を参照できる別の場所があるはずだ! でも、どこ?

アップデイト

ここでヒントを追ってみる。 http://www.nuget.org/packages/System.Net.Http.Formatting

ツール > ライブラリパッケージマネージャ > パッケージマネージャコンソールを選択し、入力することで表示されます。

Install-Package System.Net.Http.Formatting -Version 4.0.20710

...パンプローナの赤い雄牛(飲み物ではない)が、野生の目で私に降りかかってくるのが見える。

アップデイト2

ここからSystem.Net.Http.Formatting.dllを追加してみました。

C:\Users\clay\My Documents\Visual Studio 2013\Projects\MvcApplication1\MvcApplication1\bin

...そして、コンパイルして実行し、期待通りに動作するようになりましたが、これは明らかに "not preferred method"です。

解決方法は?

私も同じような問題を抱えていました。私は Microsoft Asp Net WebApi クライアント 4.0.20710 で、私の場合はうまくいきました。

ツール > ライブラリパッケージマネージャ > パッケージマネージャコンソールに以下のコマンドを入力します。

Install-Package Microsoft.AspNet.WebApi.Client -Version 4.0.20710