是否支持.NET Core中的Microsoft.AspNet.WebApi.Client?

时间:2017-03-30 12:49:59

标签: c# .net .net-core core mediatypeformatter

我目前正在尝试使用.NET Core和MediaTypeFormatters中的HttpClient进行一些JSON格式化。特别是HttpContent-Class中.NET Framework中提供的函数“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中吗?我真的找不到任何信息......

由于

3 个答案:

答案 0 :(得分:8)

<强>更新

Microsoft.AspNet.WebApi.Client版本5.2.4于2018-02-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问题:

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

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

答案 1 :(得分:6)

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库中,并且它建立成功。

答案 2 :(得分:0)

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

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

httpClient.GetFromJsonAsync<Type>(uri);

还有很多其他重载。