Azure Key Vault .NET - 找不到方法

时间:2016-12-13 10:00:30

标签: c# azure encryption azure-keyvault always-encrypted

我想在我的.NET应用程序中使用Always Encrypted SQL 2016数据库和Azure Key Vault来存储加密密钥。到目前为止,我一直关注这篇文章: https://blogs.msdn.microsoft.com/sqlsecurity/2015/11/10/using-the-azure-key-vault-key-store-provider-for-always-encrypted/

但是当我到达文章中提供的代码行时,我收到了一个例外:

SqlColumnEncryptionAzureKeyVaultProvider azureKeyVaultProvider =
new SqlColumnEncryptionAzureKeyVaultProvider(GetToken);

例外是:

Additional information: Method not found: 'Void Microsoft.Azure.KeyVault.KeyVaultClient..ctor(AuthenticationCallback)'.

我检查过我的参考资料,而且每件事情都有所不同。 GetToken身份验证回调方法也在那里。

有人可以帮忙吗?感谢。

3 个答案:

答案 0 :(得分:4)

似乎是最新的Microsoft.Azure.KeyVault nuget包的问题。 Microsoft.SqlServer.Management.AlwaysEncrypted.AzureKeyVaultProvider程序包依赖于Microsoft.Azure.KeyVault v 1.0.0,如果安装了最新版本(v 2.0.6),则会对SqlColumnEncryptionAzureKeyVaultProvider进行制动。将Microsoft.Azure.KeyVault软件包降级到1.0.0版本,你会没事的......

答案 1 :(得分:2)

这是aspnet / Configuration的已知问题。见https://github.com/aspnet/Configuration/issues/569

答案 2 :(得分:0)

请使用version 2.0.20170208或更高版本的nuget包,这可以解决您的问题。