57

在我的 Visual Studio 2013 RC 项目中,我收到了这个错误消息:

"类型 'System.Net.Http.Formatting.MediaTypeFormatter' 在未引用的程序集中定义。您必须添加对程序集的引用 'System.Net.Http.Formatting, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' "

...在"var response = "控制器中的代码行上:

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

IOW,通过选择 Tools > Library Package Manager > Package Manager Console,然后输入:

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

...它现在可以按预期编译、运行和工作,但这显然是“不是首选方法”

4

6 回答 6

95

我有同样的问题。我使用了 Microsoft Asp Net WebApi Client 4.0.20710,它对我有用。

在工具 > 库包管理器 > 包管理器控制台中键入以下命令:

Install-Package Microsoft.AspNet.WebApi.Client -Version 4.0.20710
于 2014-03-12T09:08:19.773 回答
43

添加到上面路易斯回答的内容。

System.Net.Http.Formatting 是一个库,用于媒体类型格式化。例如: http: //msdn.microsoft.com/en-us/library/system.net.http.formatting.jsonmediatypeformatter (v=vs.118).aspx

在引用它时,当我尝试时,我希望在我的项目中添加一个引用,并在 Reference Manager 中的 Assemblies/Framework 文件夹中查找。

它实际上位于 Reference Manager 的 Assemblies/Extensions 文件夹中

于 2014-10-29T19:42:38.173 回答
9

如果您在尝试安装System.Net.Http.Formatting -Version 4.0.20710时遇到错误,请尝试以下操作:

Install-Package WebApiDoodle.Net.Http.Formatting -Pre

我刚刚在 NuGet 上找到:https ://www.nuget.org/packages/WebApiDoodle.Net.Http.Formatting/3.0.0-pre01

于 2014-06-19T23:46:06.337 回答
5

右键单击项目并单击添加引用选项,然后从 程序集选项卡转到扩展并选择System.Net.Http.Formatting。 如果这里没有,则必须手动添加 prgramme 文件-> Microsoft ASP.NET

于 2017-08-14T07:43:56.740 回答
1

解决此问题的另一个简单选项是右键单击引用,单击“管理 NuGet 引用”,浏览“Microsoft.AspNet.WebApi.Client”并安装它或重新安装它。查看包装信息以了解更多信息。

于 2019-12-04T22:20:50.773 回答
1

我在 vs2022 v16.11.5 上遇到了同样的问题。
我很幸运能够让该项目在一台机器上运行,但在另一台机器上却不行。在可疑机器上,在项目 References 下,找不到 System.Net.Http.Formatting。运行 Visual Studio 安装程序应用程序并修改 vs2022 安装以包含 ASP.NET 和 Web 开发包修复了我。

ASP.NET 和 Web 开发安装映像

于 2022-02-16T21:29:21.213 回答