无法加载文件或程序集System.Threading.Tasks.Extensions,版本=4.2.0.0

问题描述 投票:0回答:1

我安装了 Azure.Identity(最新)和 Azure.Messaging.ServiceBus(最新),因为我想使用 ManagedIdentity 连接服务总线。

私有只读ServiceBusSender _sender;

    private const string QUEUENAME = "test";
    public QueueService()
    {
        var client = new ServiceBusClient(ConfigurationManager.AppSettings["ServiceBusNameSpace"], new ManagedIdentityCredential(clientId: ConfigurationManager.AppSettings["ManagedIdentityClientId"], null));
        _sender = client.CreateSender(QUEUENAME);
    }

起草代码后,我面临与加载程序集相关的问题。 FileLoadException:无法加载文件或程序集“System.Threading.Tasks.Extensions,Version=4.2.0.0,Culture=neutral,PublicKeyToken=cc7b13ffcd2ddd51”或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。 (HRESULT 异常:0x80131040)

我尝试通过一些步骤修复它 。下载最新版本的System.Threading.Tasks.Extensions并指向最新版本。

但无法解决这个问题,单元测试也由于依赖性而失败。

c# .net azure azureservicebus .net-4.8
1个回答
0
投票

我确实同意@Norcino,您必须重新检查 app.config 或 web.config 中的绑定重定向,并检查您是否使用不同版本的相同包。 以下是也使用托管身份凭证的替代代码:

using Azure.Identity;
using Azure.Messaging.ServiceBus;

var credential = new ManagedIdentityCredential();
string servname = "service bus namespace";
string rithq = "rithqueue";
var client = new ServiceBusClient(servname, credential);
var sender = client.CreateSender(rithq);
await sender.SendMessageAsync(new ServiceBusMessage("Hello Rithwik Bojja!"));
Console.WriteLine("Hello Rithwik bojja, Message sent");  
© www.soinside.com 2019 - 2024. All rights reserved.