我从哪里引用缺少的程序集(System.Net.Http.Formatting)?
Posted
技术标签:
【中文标题】我从哪里引用缺少的程序集(System.Net.Http.Formatting)?【英文标题】:From where do I reference a missing assembly (System.Net.Http.Formatting)? 【发布时间】:2013-10-19 18:52:35 【问题描述】:在我的 Visual Studio 2013 RC 项目中,我收到了这个错误消息:
"定义了类型'System.Net.Http.Formatting.MediaTypeFormatter' 在未引用的程序集中。您必须添加对 程序集'System.Net.Http.Formatting,版本=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,通过选择工具 > 库包管理器 > 包管理器控制台,然后输入:
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
...它现在可以按预期编译、运行和工作,但这显然是“不是首选方法”
【问题讨论】:
Could not load file or assembly 'System.Net.Http.Formatting' or one of its dependencies. The system cannot find the path specified的可能重复 你知道这个问题已经有四年了,对吧? “可能重复”是一种清理方法 - 关闭类似问题并保留最佳答案。日期不是必需的。见meta.stackexchange.com/questions/147643/…如果你同意它需要澄清,请投票meta.stackexchange.com/questions/281980/… 【参考方案1】:我遇到了同样的问题。我使用了Microsoft Asp Net WebApi Client 4.0.20710,它对我有用。
在工具 > 库包管理器 > 包管理器控制台中键入以下命令:
Install-Package Microsoft.AspNet.WebApi.Client -Version 4.0.20710
【讨论】:
如何访问Tools > Library Package Manager > Package Manager Console
?
@Elyor 请分享
真的 MS 应该为 System.Net.Http.Formatting 保留 Nuget 包,并依赖于 Microsoft.AspNet.WebApi.Client 包.. 但他们打破了 Nuget 的正常使用和导致这会导致部署和编译出错,有时会出现缺少程序集的神秘错误消息......呃......
我看不到Microsoft.AspNet.WebApi.Client和System.Net.Http.Formatting.MediaTypeFormatter之间的链接,没有解释清楚。
在 VS 2019 中,我在 Tools > NuGet Package Manager > Package Manager Console 下找到了它,并且 Install-Package 字符串起作用了【参考方案2】:
如果您在尝试安装 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】:补充 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 文件夹中
【讨论】:
干杯,被难住了。很好的答案。 这需要更高!像魅力一样工作! 这个答案比公认的正确答案要好得多。您不需要使用 nuget 来引用它。 Reference Manager 的 Assemblies/Extensions 文件夹中没有 System.Net.Http.Formatting.dll。 这里相同 - 我在程序集/扩展中看不到它。【参考方案4】:右键单击项目并单击添加引用选项,然后转到 Extensions 从 Assemblies 选项卡并选择 System.Net.Http.Formatting。 如果这里没有,则必须手动添加 prgramme 文件-> Microsoft ASP.NET
【讨论】:
【参考方案5】:解决此问题的另一个简单选项是右键单击引用,单击“管理 NuGet 引用”,浏览“Microsoft.AspNet.WebApi.Client”并安装它,或者重新安装它。查看包装信息以了解更多信息。
【讨论】:
以上是关于我从哪里引用缺少的程序集(System.Net.Http.Formatting)?的主要内容,如果未能解决你的问题,请参考以下文章
由于缺少未丢失的程序集引用,Visual Studio拒绝构建项目
“Microsoft”中不存在类型或命名空间名称“Office”(是否缺少程序集引用?)
找不到类型或命名空间名称“T”(您是不是缺少 using 指令或程序集引用?)