首页 > 解决方案 > “Azure.Core.Pipeline.HttpClientTransport”的类型初始化程序引发了异常。

问题描述

尝试访问 azure 密钥库时出现异常。

“Azure.Core.Pipeline.HttpClientTransport”的类型初始化程序引发了异常。FileLoadException:加载此程序集会产生与其他实例不同的授权集。(来自 HRESULT 的异常:0x80131401)

下面是我的代码:尝试创建 secretclient 对象时,它抛出了该异常:

           SecretClient secretClient = new SecretClient(
            new Uri(vaultUrl),
           new ClientSecretCredential(tenantId, clientId, clientSecret)
        );

        var value1= secretClient.GetSecret("Key1");
        var value2= secretClient.GetSecret("Key2");
        var result = new Dictionary<string, string>
        {
            {value1.Value.Value, value2.Value.Value}
        };

感谢帮助。

标签: c#asp.netazureazure-web-app-serviceazure-keyvault

解决方案


我已经在我这边测试了你的代码,它工作正常。请检查tenantIdclientIdclientSecret的值。此外,您可以检查是否使用了正确的依赖项。这是我的整个代码供您参考。

using Azure.Identity;
using Azure.Security.KeyVault.Secrets;
using System;
using System.Collections.Generic;
using System.Text;

namespace TonyTestGraph
{
    class KeyValutTest
    {
        static void Main(string[] args)
        {
            SecretClient secretClient = new SecretClient(
               new Uri("https://tonykeyvault.vault.azure.net/"),
              new ClientSecretCredential("xxx.onmicrosoft.com", "366b3XXX113-4d73-ac2b-cfe920b3a6ae", "HMeQ41RWacxuFgxxx02Ce43qb.1.K-~S")
           );

                var value1 = secretClient.GetSecret("connectionString");
            Console.WriteLine(value1);
        }
    }
}

在此处输入图像描述

包版本:

Azure.Identity 1.2.0-preview.3

Azure.Security.KeyVault.Secrets 4.0.3


推荐阅读