C# 升级MassTransit后更改了ConnectReceiveEndpoint的方法重载

C# 升级MassTransit后更改了ConnectReceiveEndpoint的方法重载,c#,rabbitmq,masstransit,C#,Rabbitmq,Masstransit,我正在从5.3.2升级到5.5.3版,以下代码无法编译。我得到了错误 “IReceiveEndpointConfigurator”不包含“BindMessageExchange”的定义,并且找不到接受“IReceiveEndpointConfigurator”类型的第一个参数的可访问扩展方法“BindMessageExchange”(是否缺少using指令或程序集引用?) “IReceiveEndpointConfigurator”不包含“Bind”的定义,并且找不到接受“IReceiveEnd

我正在从5.3.2升级到5.5.3版,以下代码无法编译。我得到了错误

“IReceiveEndpointConfigurator”不包含“BindMessageExchange”的定义,并且找不到接受“IReceiveEndpointConfigurator”类型的第一个参数的可访问扩展方法“BindMessageExchange”(是否缺少using指令或程序集引用?)

“IReceiveEndpointConfigurator”不包含“Bind”的定义,并且找不到接受“IReceiveEndpointConfigurator”类型的第一个参数的可访问扩展方法“Bind”(是否缺少using指令或程序集引用?)

似乎p
IReceiveEndpointConfigurator
,而不再是
IRabbitMqReceiveEndpointConfigurator
。重载方法或扩展方法似乎有变化

我应该改用什么重载方法?该代码在测试场景中用于连接临时队列/交换<代码>\u主机的类型为
IRabbitMqHost

_handle = _host.ConnectReceiveEndpoint(p =>
        {
            p.BindMessageExchanges = false;
            p.Handler<T>(context =>
            {
                _receivedMessage = context.Message;
                _messageReceived.Set();
                return Task.CompletedTask;
            });
            p.Bind<T>(z =>
            {
                z.ExchangeType = "direct";
                z.RoutingKey = _routingKey;
            });
        });
\u handle=\u host.ConnectReceiveEndpoint(p=>
{
p、 bindMessageExchange=false;
p、 处理程序(上下文=>
{
_receivedMessage=context.Message;
_messageReceived.Set();
返回Task.CompletedTask;
});
p、 绑定(z=>
{
z、 ExchangeType=“直接”;
z、 路由键=_路由键;
});
});
方法就在这里:


您正在指定队列名称吗?

否我们当前正在使用重载,但未指定队列名称。那么,我们应该为临时队列提供什么队列名称如果我传递string.empty,mastransit会生成一个随机名称吗。我应该自己生成随机名称吗?你可以使用host.Topology创建一个临时队列名称,它在某个地方,不确定确切的位置。