如何在 .Net Core 中使用 WebClient?

How to use WebClient with .NetCore?

有什么方法可以在 .NET Core 应用程序中使用 WebClient 吗? 如果我构建应用程序,我会收到以下错误:

Severity    Code    Description Project File    Line
Error   CS0246  The type or namespace name 'WebClient' could not be found (are you missing a using directive or an assembly reference?)

我认为 WebClient 不是 .NET Core 的一部分,但还有其他选择吗?

从 .Net Standard 2.0 开始,WebClient 现在可用于该标准的任何实现,包括 .Net Core。但是,Stack Overflow 问题“”对于为什么应该使用 HttpClient 有一些相当好的答案。

提到的缺点之一是 HttpClient 中没有内置进度报告。但是,因为它使用流,所以可以编写自己的流。 “”的答案提供了报告响应流进度的示例。

如果您的目标是标准的早期版本,则需要使用 HttpClient,因为 WebClient 在 .Net Standard 2.0 之前不可用。

WebClient 现在可用于 .Net Standard 2.0 https://docs.microsoft.com/en-gb/dotnet/api/system.net.webclient?view=netstandard-2.0