在 C# 项目中,我需要为使用 Azure 服务总线实现的 SignalR 制作背板。所以在启动时我写道:
GlobalHost.DependencyResolver.UseServiceBus(asb_endpoint, topic);
在同一个项目中,甚至还有 Azure Service Bus 的 Rebus 配置,例如:
return Rebus.Config.Configure.With(new UnityContainerAdapter(container))
.Logging(l => l.Log4Net())
.Transport(l => l.UseAzureServiceBus(cs, qname))
.Routing(r => r.TypeBasedRoutingFromAppConfig())
.Options(o => o.SimpleRetryStrategy(errorQueueAddress: errorqname, maxDeliveryAttempts: 3));
两者都使用扩展方法来实现UseAzureServiceBus
and UseServiceBus
。
问题是:这两个扩展方法都是两个库的一部分,并且这个库在各种依赖项上发生冲突。要拥有 Rebus 的UseAzureServiceBus
扩展,我需要Rebus.AzureServiceBus
版本 0.99.39,而这又需要至少WindowsAzure.ServiceBus
3.0.4,但这使用了一个名为Microsoft.ServiceBus
3.0.0 的 DLL,它与扩展方法 UseServiceBus 的内部工作相冲突。
我该如何处理?
编辑 1: 看起来这个问题将在Microsoft.AspNet.SignalR.ServiceBus
2.2.2 版本中得到修复。我不知道在这期间做什么