在我的配置中尝试使用“UsingRabbitMq”时出现此错误。
“IServiceCollectionConfigurator”不包含“UsingRabbitMq”的定义,并且找不到接受“IServiceCollectionConfigurator”类型的第一个参数的可访问扩展方法“UsingRabbitMq”(您是否缺少 using 指令或程序集引用?)CS1061
public void ConfigureServices(IServiceCollection services)
{
serviceSettings = Configuration.GetSection(nameof(ServiceSettings)).Get<ServiceSettings>();
services.AddMassTransit(x =>
{
x.UsingRabbitMq((context, configurator) =>
{
var RabbitMQSettings = Configuration.GetSection(nameof(RabbitMqSettings)).Get<RabbitMqSettings>();
configurator.Host(RabbitMQSettings.Host);
configurator.ConfigureEndpoints(context, new KebabCaseEndpointNameFormatter(serviceSettings.ServiceName, false));
});
});
.....
“.UsingRabbitMq”部分是启动类中唯一给我带来错误的部分。
我使用 .NET 5.0,我的 .csproj 看起来像这样
<ItemGroup>
<PackageReference Include="MassTransit.AspNetCore" Version="5.3.2" />
<PackageReference Include="MassTransit.RabbitMQ" Version="5.3.2" />
<PackageReference Include="MassTransit.Extensions.DependencyInjection" Version="5.3.2" />
<PackageReference Include="MongoDB.Driver" Version="2.23.1" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="5.6.3" />
<PackageReference Include="Microsoft.AspNetCore.Authentication.OpenIdConnect" Version="5.0.1" />
<PackageReference Include="Swashbuckle.AspNetCore.Annotations" Version="5.0.0" />
<PackageReference Include="Swashbuckle.AspNetCore.Filters" Version="5.0.0" />
</ItemGroup>
这些都是我进口的
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using MassTransit;
using MassTransit.Definition;
using MassTransit.RabbitMqTransport.Hosting;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.HttpsPolicy;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
using Microsoft.OpenApi.Models;
using MongoDB.Bson;
using MongoDB.Bson.Serialization;
using MongoDB.Bson.Serialization.Serializers;
using MongoDB.Driver;
using Shop.Catalog.Service.Entities;
using Shop.Catalog.Service.Repositories;
using Shop.Catalog.Service.Settings;
using Shop.Catalog.Service.Contracts;
using RabbitMQ;
有什么想法可能导致这种情况吗?
我尝试过不同版本的软件包,但总是出现相同的错误。我尝试了各种导入,但仍然不起作用。据我搜索,谷歌上没有与UsingRabbitMQ相关的答案。非常感谢帮助
虽然我和你有同样的问题,但即使我使用.Net或.Net 8,我也将“MassTransit.RabbitMQ”更新为Version =“7.3.1”,“MassTransit.AspNetCore”也更新为Version =“7.3.1” 。 然后就可以了。