我正在尝试使用新的System.Net.Http位来构建一个简单的HTTP客户端来与基于HTTP的API进行通信。我用Nuget(Microsoft.AspNet.WebApi.Client.4.0.20505.0)安装了这些位。
我需要接受一些自签名证书,因此我正在尝试设置WebRequestHandler类的ServerCertificateValidationCallback属性。这是一个两线测试,说明了我遇到的问题:
[Test]
public void CanRunDummyTest() {
var handler = new WebRequestHandler();
handler.ServerCertificateValidationCallback = (sender, certificate, chain, errors) => true;
}
但它会抛出:
CanRunDummyTest : FailedSystem.MissingMethodException :
Method not found: 'Void System.Net.Http.WebRequestHandler.set_ServerCertificateValidationCallback(System.Net.Security.RemoteCertificateValidationCallback)'
at AxlTests.RawAxlTests.CanRunDummyTest()
似乎该类的Set属性未实现?有什么想法吗?
答案 0 :(得分:1)
MissingMethodException
通常在编译和执行破坏ABI更改(向前或向后)的相同类型时发生。
..我希望这就是这里发生的事情。
收到WebRequestHandler.ServerCertificateValidationCallback Property,该属性仅支持“.NET 4.5”,因此使用.NET 4.0版本将 kaboom!
构建时,请确保.NET 4.0(或适用)是(希望)获得编译时错误的目标。