[英]Alternative to Microsoft.AspNet.WebApi.Client in ASP.NET Core 2.0 class library
[英]Is Microsoft.AspNet.WebApi.Client supported in .NET Core or not?
我目前正在尝试使用 .NET Core 和 MediaTypeFormatters 中的 HttpClient 进行一些 JSON 格式设置。 特别是函数“ReadAsAsync(..., MediaTypeFormatter, ...)”( https://msdn.microsoft.com/de-de/library/system.net.http.httpcontentextensions.readasasync(v=vs.118) .aspx ) 的 .NET Framework 中的 HttpContent-Class 将非常有帮助。 据我了解,它可以在 NuGet 包 Microsoft.AspNet.WebApi.Client 中找到,但我无法下载它,因为 .NET Core 不支持它。
虽然我读过,但它应该是:
我知道可以使用 Newtonsoft 等进行格式化。
但是有人知道,该软件包是否会在某一天再次在 .NET Core 中可用? 我真的找不到任何信息......
更新:
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 年末发布。
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 库中,并且它成功构建。
除了其他答案之外,还有System.Net.Http.Json包使用新的 Json 序列化器而不是 Newtonsoft 的。
用法与使用Microsoft.AspNet.WebApi.Client
略有不同。
httpClient.GetFromJsonAsync<Type>(uri);
还有许多其他重载。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.