【发布时间】:2016-11-15 07:26:40
【问题描述】:
我在尝试创建 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));
}
当我尝试创建 keyVaultClient 时收到异常
“System.TypeInitializationException”类型的异常发生在 Hyak.Common.dll 但未在用户代码中处理
附加信息:类型初始化器 'Hyak.Common.ServiceClient`1' 抛出异常。
当我转到异常详细信息时,我可以看到
{"无法加载文件或程序集 'Microsoft.Threading.Tasks, 版本=1.0.12.0,文化=中性,PublicKeyToken=b03f5f7f11d50a3a' 或 它的依赖项之一。系统找不到文件 指定。":"Microsoft.Threading.Tasks,版本=1.0.12.0, Culture=neutral, 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"/>
【问题讨论】: