【问题标题】:Is Microsoft.AspNet.WebApi.Client supported in .NET Core or not?.NET Core 是否支持 Microsoft.AspNet.WebApi.Client?
【发布时间】:2017-08-24 09:49:26
【问题描述】:

我目前正在尝试使用 .NET Core 和 MediaTypeFormatters 中的 HttpClient 进行一些 JSON 格式设置。尤其是 .NET Framework 中 HttpContent-Class 中可用的函数“ReadAsAsync(..., MediaTypeFormatter, ...)” (https://msdn.microsoft.com/de-de/library/system.net.http.httpcontentextensions.readasasync(v=vs.118).aspx) 将非常有帮助。据我了解,它可以在 NuGet 包 Microsoft.AspNet.WebApi.Client 中找到,但我无法下载它,因为 .NET Core 不支持它。

虽然我读过,但应该是:

我知道可以使用 Newtonsoft 等进行格式化。

但是有人知道,该包是否会在某一天再次出现在 .NET Core 中?我真的找不到任何信息......

【问题讨论】:

标签: c# .net-core mediatypeformatter


【解决方案1】:

更新:

Microsoft.AspNet.WebApi.Client 版本 5.2.4 于 2018 年 2 月 12 日发布。

感谢@whitney-kew @jaquez


该软件包现在与 dotnetcore 不完全兼容。 但是,有解决方法。 您必须像下面这样编辑 project.csproj:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
   <TargetFramework>netstandard1.4</TargetFramework>
   <PackageTargetFallback>portable-net451+win8</PackageTargetFallback>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="Microsoft.AspNet.WebApi.Client" Version="5.2.3" />
    <PackageReference Include="System.Runtime.Serialization.Xml" Version="4.3.0-*" />
    <PackageReference Include="System.Xml.XmlSerializer" Version="4.3.0-*" />
  </ItemGroup> 
</Project>

详情请参考这个github issue:

https://github.com/aspnet/Home/issues/1558

我认为新的 Microsoft.AspNet.WebApi.Client 版本 (5.2.4) 应该可以解决此问题,但它尚未发布,可能在 2017 年末发布。

【讨论】:

  • Microsoft.AspNet.WebApi.Client 版本 5.2.4 final 于 2018-02-12 发布。
【解决方案2】:

Microsoft.AspNet.WebApi.Client 5.2.4-preview1 现在在 https://www.nuget.org/packages/Microsoft.AspNet.WebApi.Client/5.2.4-preview1 上可用,截至 2018 年 1 月的第一周。我今天能够将它添加到我的 .NET Core 库中,并且它构建成功.

【讨论】:

    【解决方案3】:

    除了其他答案之外,还有 System.Net.Http.Json 包使用新的 Json 序列化程序而不是 Newtonsoft 的。

    用法与使用Microsoft.AspNet.WebApi.Client略有不同。

    httpClient.GetFromJsonAsync<Type>(uri);
    

    还有许多其他重载。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多