1

新しい System.Net.Http ビットを使用して、単純な HTTP クライアントを構築し、HTTP ベースの API と通信しようとしています。Nuget (Microsoft.AspNet.WebApi.Client.4.0.20505.0) でビットをインストールしました。

自己署名証明書を受け入れる必要があるため、WebRequestHandler クラスの ServerCertificateValidationCallback プロパティを設定しようとしています。これは、私が遭遇している問題を示す2行のテストです:

    [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 プロパティが実装されていないようです。何か案は?

4

1 に答える 1

1

MissingMethodExceptionこれは通常、 ABI の重大な変更(前方または後方)を受けた同じ型に対してコンパイルおよび実行するときに発生します。

..そして、それがここで起こっていることだと思います。

WebRequestHandler.ServerCertificateValidationCallback Propertyによると、そのプロパティは「.NET 4.5でのみサポート」されているため、.NET 4.0バージョンを使用するとカブームになります!

ビルドするときは、.NET 4.0 (または適用可能) が (うまくいけば) コンパイル時エラーが発生するターゲットであることを確認してください。

于 2012-07-13T21:41:20.943 に答える