gpt4 book ai didi

c# - System.Net.Http 与 Microsoft.Net.Http

转载 作者:IT王子 更新时间:2023-10-29 03:40:50 24 4
gpt4 key购买 nike

我正在使用 ASP.NET Core。我想使用 HttpClient 但我注意到提供了两个 NuGet 包。我使用哪一个?

最佳答案

取决于版本。旧的 System.Net.Http 包(2.0 包)是遗留包,已弃用,取而代之的是 Microsoft.Http.Net根据描述:

Legacy package, System.Net.Http is now included in the'Microsoft.Net.Http' package.

它们的存在是为了在以前的 .NET 版本和可移植类库中提供 HttpClient。在这种情况下,您应该使用 Microsoft.Net.Http

由于您使用的是 .NET Core,因此您应该使用最新的 System.Net.Http包(例如 4.3.3)。

针对 csproj 更新

从 .NET Standard 2.0 开始,System.Net.HttpClient 包已经包含在您面向 netstandard2.0 时可用。如果出于某种原因,您仍想为完整的 .NET 和 .NET Core 引用它,您可以将其添加到您的 csproj 文件中:

<ItemGroup Condition=" '$(TargetFramework)' == 'net461' ">
<!-- // HttpClient for full .NET -->
<Reference Include="System.Net.Http" />
</ItemGroup>
<ItemGroup Condition=" '$(TargetFramework)' == 'netstandard2.0' ">
<!-- // HttpClient for .NET Core -->
<PackageReference Include="System.Net.Http" Version="4.3.3" />
</ItemGroup>

如果您使用的是 project.json

如果您的 project.json 同时针对完整的 .NET 和 .NET Core,您必须将 System.Net.Http 程序集添加到 frameworkAssemblies 元素。例如:

"frameworks": {
"net451": {
"frameworkAssemblies": {
"System.Net.Http": "4.0.0.0" // HttpClient for full .NET
}
},
"netstandard1.3": {
"dependencies": {
"System.Net.Http": "4.1.0", // HttpClient for .NET Core
}
}
}

关于c# - System.Net.Http 与 Microsoft.Net.Http,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31053243/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com