【问题标题】:From where do I reference a missing assembly (System.Net.Http.Formatting)?我从哪里引用缺少的程序集(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

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

【问题讨论】:

标签: .net-assembly visual-studio-debugging visual-studio-2013 system.net mediatypeformatter


【解决方案1】:

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

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

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

【讨论】:

  • 如何访问Tools &gt; Library Package Manager &gt; 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】:

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

【讨论】:

    【解决方案5】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-10-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-13
      • 1970-01-01
      相关资源
      最近更新 更多