Мой проект собирается успешно, но при публикации в Azure возникает эта ошибка:
Microsoft.WebTools.Shared.Exceptions.WebToolsException: убедитесь, что параметр Startup .cs для вашего приложения вызывает AddSwaggerGen из ConfigurationServices для создания файла swagger. Посетите https://go.microsoft.com/fwlink/?LinkId ... LCID=0x409 для получения дополнительной информации.
на Microsoft.WebTools.Azure.Publish.ApiMApi.BaseApiMApiUpdater.EmitTerminationError(String BucketName, отображаемая строкаErrorMessage, строка loggedErrorMessage)
at Microsoft.WebTools.Azure.Publish.ApiMApi.AppServiceApiMApiPublishHandler.AppServiceApiMApiUpdater.d__12.MoveNext()
--- Конец трассировки стека из предыдущего места, где было создано исключение ---
в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task Task)
в Microsoft.WebTools.Azure.Publish.ApiMApi.AppServiceApiMApiPublishHandler.AppServiceApiMApiUpdater.d__10.MoveNext()
- -- Конец трассировки стека из предыдущего места, где было выдано исключение ---
в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task Task)
в Microsoft.WebTools.Azure.Publish.ApiMApi.BaseApiMApiUpdater.d__9.MoveNext()
--- Конец трассировки стека из предыдущего места, где было создано исключение ---
в System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task Task)
в Microsoft.WebTools.Azure.Publish.ApiMApi.AppServiceApiMApiPublishHandler.d__14.MoveNext()
--- Конец трассировки стека из предыдущего места, где было создано исключение ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
в System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task Task)
в Microsoft.WebTools.Azure.Publish. NewFx.Profiles.BaseSwaggerPublishStep.d__9.MoveNext()
--- Конец трассировки стека из предыдущего места, где было создано исключение ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
в Microsoft.Publish.Framework.Profiles.ProjectProfilesManager.d__44.MoveNext()
Я использую .NET 8 и Visual Studio 2024, и я регистрирую пользовательский интерфейс Swagger в своем приложении.
вот мой файл program.cs
using Application.Abstractions;
using Infrastructure;
using Infrastructure.Context;
using Infrastructure.Extensions;
using Microsoft.EntityFrameworkCore;
using Microsoft.OpenApi.Models;
using WebAPI.Middleware;
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
builder.Services.AddDbContext
(options =>
options.UseSqlServer(builder.Configuration.GetConnectionString("BreaKonfusionContext"))
);
builder.Services.AddApplication();
builder.Services.AddApplicationCQRS();
builder.Services.AddProblemDetails();
builder.Services.AddInfrastructure(builder.Configuration);
builder.Services.AddControllers();
builder.Services.AddTodoControllers();
builder.Services.AddSignalR();
// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
builder.Logging.AddAzureWebAppDiagnostics();
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen(option =>
{
option.SwaggerDoc("v1", new OpenApiInfo { Title = "BreaKonfusion API", Version = "v1" });
option.AddSecurityDefinition("Bearer", new OpenApiSecurityScheme
{
In = ParameterLocation.Header,
Description = "Please enter a valid token",
Name = "Authorization",
Type = SecuritySchemeType.Http,
BearerFormat = "JWT",
Scheme = "Bearer"
});
option.AddSecurityRequirement(new OpenApiSecurityRequirement
{
{
new OpenApiSecurityScheme
{
Reference = new OpenApiReference
{
Type=ReferenceType.SecurityScheme,
Id="Bearer"
}
},
new string[]{}
}
});
});
builder.Logging.ClearProviders();
builder.Logging.AddConsole();
builder.Logging.AddDebug();
builder.Services.AddScoped();
var app = builder.Build();
app.UseRouting();
// Configure the HTTP request pipeline.
app.UseSwagger();
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "Breakonfusion API V1");
});
app.UseCors(CorsExtensions.MyAllowSpecificOrigins);
// await app.Services.InitializeDbAsync();
app.UseHttpsRedirection();
app.UseAuthentication();
app.UseAuthorization();
app.UseMiddleware();
app.UseCurrentUser();
app.MapTodoHubs();
app.MapControllers();
app.Run();
Подробнее здесь: https://stackoverflow.com/questions/791 ... chitecture
Не удалось отправить мой веб-API ASP.NET Core 8 в Azure; Я использую чистую архитектуру, поэтому все мои сервисы зарегис ⇐ C#
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение