You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ASP.NET Core集成Azure Key Vault时无法找到Microsoft.Azure.Services.AppAuthentication NuGet包

解决ASP.NET Core中找不到Microsoft.Azure.Services.AppAuthentication包的问题

嘿,我之前刚好踩过这个坑!这个问题的核心原因是Microsoft.Azure.Services.AppAuthentication已经被官方弃用了,现在ASP.NET Core集成Azure Key Vault的官方推荐方案是使用Azure.Identity包来替代它。

下面是具体的解决步骤:

  • 第一步:安装正确的NuGet包
    卸载任何已安装的Microsoft.Azure.Services.AppAuthentication包,然后安装Azure.Identity:

    # 使用NuGet包管理器控制台
    Install-Package Azure.Identity
    
    # 或者使用.NET CLI
    dotnet add package Azure.Identity
    
  • 第二步:替换原有的认证代码
    原来教程里的AzureServiceTokenProvider已经不再推荐,我们用DefaultAzureCredential来替代它,这个类会自动适配不同环境的认证方式(本地开发用Azure CLI/Visual Studio凭据,生产环境用托管标识),非常灵活。示例代码如下:

    using Azure.Identity;
    using Azure.Security.KeyVault.Secrets;
    
    // 初始化Key Vault客户端
    var keyVaultUri = new Uri("https://your-key-vault-name.vault.azure.net/");
    var credential = new DefaultAzureCredential();
    var secretClient = new SecretClient(keyVaultUri, credential);
    
    // 获取Key Vault中的密钥
    var secretResponse = await secretClient.GetSecretAsync("your-secret-name");
    var secretValue = secretResponse.Value.Value;
    
  • 第三步:集成到ASP.NET Core配置系统(可选)
    如果需要直接将Key Vault的密钥加载到应用配置中,可以在Program.cs里这样配置:

    var builder = WebApplication.CreateBuilder(args);
    
    // 将Azure Key Vault集成到配置系统
    builder.Configuration.AddAzureKeyVault(
        new Uri("https://your-key-vault-name.vault.azure.net/"),
        new DefaultAzureCredential());
    

这样处理之后,你就能顺利完成Azure Key Vault的集成了,而且是基于当前官方推荐的最佳实践哦!

内容的提问来源于stack exchange,提问作者superninja

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 07:17:10