Я создал новый webapi проект, использующий ядро do tnet. Я работаю с Ubuntu 19.10, используя. net core 3.1 версия.
Это мой файл proj:
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp3.1</TargetFramework>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="MassTransit.AspNetCore" Version="6.2.5" />
<PackageReference Include="MassTransit.Extensions.DependencyInjection" Version="6.2.5" />
<PackageReference Include="MassTransit.RabbitMQ" Version="6.2.5" />
</ItemGroup>
</Project>
с использованием документации masstransit, которую я пытался настроить шину:
using MassTransit.AspNetCoreIntegration;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.HttpsPolicy;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
using MassTransit.ExtensionsDependencyInjectionIntegration;
using Microsoft.Extensions.DependencyInjection;
namespace abc.api.com
{
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
// This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
services.AddControllers();
services.AddHealthChecks();
services.AddMvc();
services.AddMassTransit(x =>
{
x.AddBus(provider => Bus.Factory.CreateUsingRabbitMq(cfg =>
{
// configure health checks for this bus instance
cfg.UseHealthCheck(provider);
cfg.Host("rabbitmq://localhost");
cfg.ReceiveEndpoint("submit-order", ep =>
{
ep.PrefetchCount = 16;
ep.UseMessageRetry(r => r.Interval(2, 100));
ep.ConfigureConsumer<OrderConsumer>(provider);
});
}));
});
services.AddMassTransitHostedService();
}
НО я получаю сообщение об ошибке, что функция AddBus не распознается и AddMassTransit помечен как устаревший в сборке MassTransit.AspNetCoreIntegration, версия = 6.2.5.0, следуя документу сборки, вместо этого следует использовать AddMassTransitHostedService , но я получаю сообщение об ошибке с помощью: services.AddMassTransitHostedService (), что метод не распознается.
Это проблема при работе с netcoreapp3.1 или я пропускаю некоторые packageReference?
Это Это будет установка:
apt-get install dotnet-sdk-3.1
apt-get install aspnetcore-runtime-3.1
apt-get install dotnet-runtime-3.1
dotnet add package MassTransit.AspNetCore --version 6.2.4
dotnet add package MassTransit.RabbitMQ --version 6.2.4
dotnet add package MassTransit.Extensions.DependencyInjection --version 6.2.4