在我的Visual Studio 2013 RC项目中,我收到了这个错误信息:
“定义了'System.Net.Http.Formatting.MediaTypeFormatter'类型 在未引用的程序集中。您必须添加引用 程序集'System.Net.Http.Formatting,版本= 4.0.0.0, 文化=中立,PublicKeyToken = 31bf3856ad364e35'“
...在Controller的"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,选择工具&gt;库包管理器&gt;包管理器控制台,然后输入:
Install-Package System.Net.Http.Formatting -Version 4.0.20710
......我看到潘普洛纳(不是饮料)的红牛在我身上肆虐:
我从这里添加了System.Net.Http.Formatting.dll:
C:\Users\clay\My Documents\Visual Studio 2013\Projects\MvcApplication1\MvcApplication1\bin
...它现在编译并运行并按预期工作,但这显然是“不是首选方法”
答案 0 :(得分:75)
我遇到了同样的问题。我使用了Microsoft Asp Net WebApi Client 4.0.20710,它对我有用。
在Tools&gt;中输入以下命令:库包管理器&gt;软件包管理器控制台:
Install-Package Microsoft.AspNet.WebApi.Client -Version 4.0.20710
答案 1 :(得分:41)
添加到Luiz上面回答的内容。
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文件夹中实际上是答案 2 :(得分: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
答案 3 :(得分:4)
右键单击项目,然后单击添加引用选项,然后转到扩展 程序集标签,然后选择 System.Net.Http.Formatting。 如果不在这里你必须手动添加prgramme文件 - &gt; Microsoft ASP.NET
答案 4 :(得分:1)
解决此问题的另一个简单选项是右键单击引用,单击“管理NuGet引用”,浏览“ Microsoft.AspNet.WebApi.Client”并安装它,或者也许重新安装它。查看包装信息以了解更多信息。