2017-08-03 14 views
1

Visual Studio Team Servicesと通信するアプリケーションを作成しようとしています。hereというNugetパッケージを使用しています。Visual Studio Team Services APIの例System.Net.Httpエラー

このサンプルコードは、マイクロソフトの公式ドキュメントから直接入手することができます。同じページにパッケージが記載されています(使用するパターンを参照)。私のテストコードはコンソールアプリケーションにあり、.netフレームワークの4.7に設定されています(Visual Studio 2017 15.2(26430.16)リリースでコンパイルされますが、問題はないと思います)。このコードは、接続のurl、project、およびrepoの名前を変更する以外は、Microsoftの例と同じです。

直接インストールされたNugetパッケージ(約30個は依存関係としてインストールされています)はMicrosoft.TeamFoundationServer.ExtendedClientです。

インストール・パッケージMicrosoft.TeamFoundationServer.ExtendedClientラインVssConnection connection = new VssConnection(new Uri(c_collectionUri), creds);

using System; 
using Microsoft.VisualStudio.Services.Common; 
using Microsoft.VisualStudio.Services.Client; 
using Microsoft.TeamFoundation.SourceControl.WebApi; 
using Microsoft.VisualStudio.Services.WebApi; 

namespace vssApiTest 
{ 
    class Program 
    { 
     const String c_collectionUri = "https://[[redacted]].visualstudio.com/DefaultCollection"; 
     const String c_projectName = "Inspections"; 
     const String c_repoName = "Src"; 

     static void Main(string[] args) 
     { 
      // Interactively ask the user for credentials, caching them so the user isn't constantly prompted 
      VssCredentials creds = new VssClientCredentials(); 
      creds.Storage = new VssClientCredentialStorage(); 

      // Connect to VSTS 
      VssConnection connection = new VssConnection(new Uri(c_collectionUri), creds); 

      // Get a GitHttpClient to talk to the Git endpoints 
      GitHttpClient gitClient = connection.GetClient<GitHttpClient>(); 

      // Get data about a specific repository 
      var repo = gitClient.GetRepositoryAsync(c_projectName, c_repoName).Result; 
     } 
    } 
} 

TypeLoadExceptionがメッセージを(実行時に)スローされます。

継承セキュリティタイプによって違反されたルール: 'System.Net.Http.WebRequestHandler'。派生型は、基本型のセキュリティアクセシビリティに一致するか、アクセシビリティが低いものでなければなりません( )。

私はこのエラーメッセージで試したことがありません。

私は間違ったことをしていますか?私が間違っているとしているコード例はありますか?

答えて

2

この問題は、hereのようにSystem.Net.Http Nugetパッケージのバージョン4.1.0に導入されたバグが原因でした。

解決方法は、Nugetパッケージを最新バージョンにアップデートすることでした(今回は4.3.2も以前のバージョンで修正されています)。

+0

4.3.2と4.3.3は魅力的です。ありがとう –

関連する問題