我目前正在尝试使用.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中吗?我真的找不到任何信息......
由于
答案 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);
还有很多其他重载。