'HttpClientHandler' 不包含 'ServerCertificateValidationCallback' .Net Standard 2.0 的定义

'HttpClientHandler' does not contain a definition for 'ServerCertificateValidationCallback' .Net Standard 2.0

我目前正在将一个巨大的解决方案从 .Net Framework 4.7.2 迁移到 .Net Core 3.1。在当前项目(现在以 .Net Standard 2.0 为目标)中,我们有以下代码(已从 WebRequestHandler 更改):

        var handler = new HttpClientHandler
        {
            Proxy = proxy,
            UseDefaultCredentials = useDefaultCredentials,
        };

        if (Configuration.TrustCertificate)
        {
            handler.ServerCertificateValidationCallback = delegate
            {
                return true;
            };
        }

迁移到 .Net Standard 2.0 后,出现以下构建错误:

CS1061 'HttpClientHandler' does not contain a definition for 'ServerCertificateValidationCallback' and no accessible extension method 'ServerCertificateValidationCallback' accepting a first argument of type 'HttpClientHandler' could be found (are you missing a using directive or an assembly reference?)

我引用了 nuget 包 System.Net.Http (v4.3.4)。当我查看定义时,我看到 ServerCertificateValidationCallback 在那里但标记为 [EditorBrowsable(EditorBrowsableState.Never)] 文件头也可疑:

#region Assembly netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51
// C:\Users\myuser\.nuget\packages\netstandard.library.0.3\build\netstandard2.0\ref\netstandard.dll
#endregion

我本以为 class 在 System.Net.Http 包中。

有什么想法吗?

属性 的名称是 ServerCertificateCustomValidationCallback。如果您更改 属性 名称,构建错误应该得到修复。