J'essaie d'ajouter Swagger à mon projet. L'erreur reçue est la suivante.
Aucun constructeur pour le type "Swashbuckle.AspNetCore.SwaggerGen.SwaggerGenerator" ne peut être instancié à l'aide des services du conteneur de services et des valeurs par défaut.
Comme je n'ai rien changé dans les binaires Swagger eux-mêmes, j'ai juste installé les packages Swashbuckle.AspNetCore et Swashbuckle.AspNetCore .Swagger (les deux dans la version 4.0.1) Je suppose qu'il s'agit de la configuration. Suite à la suggestion ici , j'ai mis en place la configuration montrée ci-dessous.
services.AddSwaggerGen(_ =>
{
_.SwaggerDoc("v1", new Info { Version = "v1", Title = "My API" });
});
app.UseSwagger();
app.UseSwaggerUI(_ => { _.SwaggerEndpoint("/swagger/v1/swagger.json", "API docs"); });
Je ne sais pas s'il me manque un paquet, si l'un de ceux que j'ai est la mauvaise version ou si la configuration d'ensemble que je fournis n'est pas suffisante.
Comme l'a demandé le demandeur dans un commentaire, ce qui a résolu cela pour moi, c'est l'ajout d'une référence à Api Explorer dans ConfigureServices
.
Plus précisément, la ligne requise était:
services.AddMvcCore()
.AddApiExplorer();
Vous devez enregistrer services.AddMvc();
dans IServiceCollection
et configurer app.UseMvc()
dans IApplicationBuilder
dans le Startup.cs
De votre application