Task.CompletedTask 属性 上的 MethodAccessException

MethodAccessException on Task.CompletedTask property

我正在开发一个小型 wpf 应用程序,其中一位用户遇到以下异常:

System.MethodAccessException: 
Attempt by method "xxx.HttpConfirmation.Invoke()" to access method "System.Threading.Tasks.Task.get_CompletedTask()" failed.
at xxx.HttpConfirmation.Invoke()
at xxx.RequestPipeline.<ProcessQueuedRequests>d__11.MoveNext()

根据 MSDN 文档,在以下情况下会抛出此类异常:

Task.get_CompletedTask() 自推出以来就是 public,我也没有使用反射来访问 属性。

我也不认为代码有问题 security/transparency 因为只有一个用户遇到这个问题。

Task.CompletedTask行抛出异常:

public class HttpConfirmation
{
    public static Task Invoke()
    {
        using (var client = new WebClient())
        {
            try
            {
                // Send the request and don't wait for the response.
                client.UploadStringTaskAsync("http://sampleUrl.com", string.Empty);
            }
            catch
            {
                // ignore
            }
        }

        return Task.CompletedTask;
    }
}

关于什么可能导致异常的任何想法?

问题是客户安装了 .NET 4.5.2,而程序针对的是 .NET 4.6。 虽然我仍然不知道为什么 System.MethodAccessException 被抛出,因为 3 种记录的抛出此异常的情况中 none 确实发生了。