2016-11-15 7 views
0

KeyVaultClientを作成しようとすると問題が発生します。私はタイプ「System.TypeInitializationException」の例外が Hyak.Common.dllで発生したが、処理されなかったAzure KeyVaultClient Hyak.アクセストークンを取得しようとしている共通例外

例外を受け取るkeyVaultClientを作成しようとすると、私は、サンプルコード

async Task<string> GetAccessToken(string authority, string resource, string scope) 
    { 
     var clientId = "ID"; 
     var clientSecret = "SECRET"; 
     ClientCredential clientCredential = new ClientCredential(clientId, clientSecret); 

     var context = new AuthenticationContext(authority, TokenCache.DefaultShared); 
     var result = await context.AcquireTokenAsync(resource, clientCredential); 

     return result.AccessToken; 
    } 

    public async void Test() 
    { 
     var vaultAddress = "url"; 
     KeyVaultClient keyVaultClient = new KeyVaultClient(new KeyVaultClient.AuthenticationCallback(GetAccessToken)); 
    } 

を使用しますユーザーコード

追加情報: の型初期化子 'Hyak.Common.ServiceClient`1'が例外をスローしました。私は、例外の詳細に行くとき

私は

{ "ファイルまたはアセンブリをロードできませんでした「Microsoft.Threading.Tasks、 バージョンを見ることができます= 1.0.12.0、カルチャニュートラル、PublicKeyToken = = b03f5f7f11d50a3a 'またはその依存関係の 一つのシステムは、指定されたファイル を見つけることができません。 ":" Microsoft.Threading.Tasks、バージョン= 1.0.12.0、 カルチャニュートラル、PublicKeyToken = = b03f5f7f11d50a3a "}

マイpackages.config :

<package id="Hyak.Common" version="1.1.0" targetFramework="net46" /> 
<package id="Microsoft.Azure.Common" version="2.0.4"  targetFramework="net46" /> 
<package id="Microsoft.Azure.Common.Dependencies" version="1.0.0"  targetFramework="net46" /> 
<package id="Microsoft.Azure.KeyVault" version="1.0.0" targetFramework="net46" /> 
<package id="Microsoft.Azure.SqlDatabase.ElasticScale.Client" version="1.3.2" targetFramework="net46" /> 
<package id="Microsoft.Bcl" version="1.1.10" targetFramework="net46" /> 
<package id="Microsoft.Bcl.Async" version="1.0.168" targetFramework="net46" /> 
<package id="Microsoft.Bcl.Build" version="1.0.21" targetFramework="net46" /> 
<package id="Microsoft.IdentityModel.Clients.ActiveDirectory" version="3.13.7" targetFramework="net46" /> 
<package id="Microsoft.Net.Http" version="2.2.29" targetFramework="net46" userInstalled="true" /> 
<package id="Newtonsoft.Json" version="9.0.1" targetFramework="net46"/> 

答えて

0

たぶん、あなたはたぶん、あなたがインストールしたパッケージを見るためにあなたのpackage.configを表示することができMicrosoft.Bcl.Asyncが欠落しています。 Microsoft.Bcl.Asyncが不足している場合は、パッケージマネージャコンソールでインストールしてください。 Install-Package Microsoft.Bcl.Async

+0

残念ながらそれはそうではありません。私はMicrosoft.Bcl.Asyncを持っています。 – t111

+0

Solution ExplorerのReferencesノードの下にあるMicrosoft.Threading.Tasks.dllへの参照があるかどうかを確認してください。 Microsoft.Threading.Tasks.dllファイルがプロジェクトパッケージのMicrosoft.Bcl.Async.1.0.168 \ libフォルダに存在するかどうかを確認してください。また、プロジェクトからパッケージをアンインストールし、Microsoft.Azure.KeyVaultおよびMicrosoft.IdentityModel.Clients.ActiveDirectoryパッケージを再インストールしてください。 –

関連する問題