asp.net-mvc - 配置错误 Azure Key Vault 作为 Visual Studio Connected Service ConfigurationBuilder

标签 asp.net-mvc visual-studio-2017 azure-keyvault

我正在尝试连接 Azure Key Vault在我的 ASP.NET (.Net Framework) MVC使用 Web 应用程序 Visual Studio 2017 Community 15.7.5 Connected Service定位.Net 4.7.2 .

它添加了 configBuilder与名称 AzureKeyVault具有名为 vaultName 的属性抛出 "The 'vaultName' attribute is not allowed."警告。

当我运行应用程序时,我收到一个错误 configBuilders attributeappsetting标签不好像这样:

Configuration Error ConfigurationBuilder

我正在使用以下所有最新版本的软件包:

  <package id="Microsoft.Azure.KeyVault" version="3.0.0" targetFramework="net472" />
  <package id="Microsoft.Azure.KeyVault.WebKey" version="3.0.0" targetFramework="net472" />
  <package id="Microsoft.Azure.Services.AppAuthentication" version="1.0.3" targetFramework="net472" />
Microsoft.Azure.Services.AppAuthentication 有更新但它是一个预览版,它导致了与其他软件包的依赖问题。

最佳答案

tldr; - 您可能没有访问 key 保管库的适当权限。

在 .Net 框架的当前发布版本中,在 ASP.NET 蓝屏中并不总是很容易发现有关配置构建器的详细错误。我们对 vNext 进行了更改以解决此问题,但目前它是 4.7.1/2 的问题。目前,如果您创建一个简单的控制台应用程序来读取具有相同配置构建器配置的 appSettings,您应该会在堆栈中看到更多的异常信息被吐出。

根据您发布的黄色屏幕,我猜测(它实际上只是基于过去报告的有根据的猜测,在您的情况下没有具体说明)您在 Microsoft.Azure.Services.AppAuthentication 库中遇到了身份验证问题。在 Visual Studio 中运行时,该库可以使用您的个人凭据访问 key 保管库。如果部署在 Azure 中,它们会使用不同的魔法技术来向 Key Vault 验证应用程序。如果您想消除“魔法”并对此进行更多控制,您可以使用 'connectionString' 属性指定更详细的连接信息。在我们的 GitHub 页面 (MicrosoftConfigurationBuilders) 上有更多信息以及连接字符串详细信息的链接。

至于“'vaultName' 属性是不允许的。”警告……这只是警告。 VS 用于验证配置的 .xsd 未正确更新以允许 configBuilder 定义上的随机属性。我们希望在下一个框架发布时的 future VS 版本中解决这个问题。

关于asp.net-mvc - 配置错误 Azure Key Vault 作为 Visual Studio Connected Service ConfigurationBuilder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51527932/

相关文章:

c# - 在 Jquery 警报中显示表行的所有值

asp.net-mvc - 如何验证来自 MVC 客户端的 web api 调用

javascript - JavaScript 中有类似于 C# 区域的东西吗? Visual Studio 2017

Azure Key Vault 基本

Python Azure SDK : How to retrieve secrets from keyvault?

python - 是否可以使用服务主体通过 Azure Python SDK 方法 get_client_from_auth_file 返回 KeyVaultClient?

c# - 将 C# 列表转换为 JSON 特定格式

c# - 更改 ASP.NET MVC 项目命名空间后出现编译错误?

visual-studio - Visual Studio 2017 重构不适用于 F#

c# - 将 URL 转换为 Controller / Action 对