Код: Выделить всё
Swashbuckle.AspNetCore. В моем проекте в качестве контейнера внедрения зависимостей (DI) используется UnityКод: Выделить всё
Unable to resolve service for type 'Swashbuckle.AspNetCore.Swagger.ISwaggerProvider' while attempting to Invoke middleware 'Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware'.
- Настроен Unity в Program.cs:
Код: Выделить всё
var builder = WebApplication.CreateBuilder(args);
var unityContainer = new UnityContainer();
builder.Services.AddControllers();
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();
builder.Services.AddControllers().AddControllersAsServices();
builder.Services.AddControllersWithViews(); // Registers MVC services, including Razor view engine
UnityConfig.RegisterTypes(unityContainer); //Registers services like below for example
//container.RegisterType();
builder.Host.UseUnityServiceProvider(unityContainer); //If this line removed, it Swagger loads
var app = builder.Build();
// Configure the HTTP request pipeline.
if (app.Environment.IsDevelopment())
{
app.UseSwagger();
app.UseSwaggerUI();
}
app.UseHttpsRedirection();
app.MapControllers(); // Enable routing to controllers
app.Run();Проблема
Несмотря на то, что ISwaggerProvider успешно разрешено через Unity, SwaggerMiddleware выдает упомянутую выше ошибку при обработке запросов.
Среда:
- .NET 8.0
- Swashbuckle.AspNetCore v7.2.0
- Unity v5.11.10
- Unity.Microsoft.DependencyInjection v5.11.5
Вопросы:
- Имеет ли Swashbuckle.AspNetCore известные проблемы при использовании с Unity в качестве контейнера внедрения внедрения?
- Существуют ли определенные конфигурации или ограничения при интеграции Unity с Конвейер промежуточного программного обеспечения ASP.NET Core?
- Как обеспечить правильное разрешение ISwaggerProvider с помощью SwaggerMiddleware при использовании Unity?
Подробнее здесь: https://stackoverflow.com/questions/793 ... aggerprovi
Мобильная версия