ich ein Barebone-NET Core-Web-api Projekt erschaffe (Gestartet von leerer Vorlage unten) https://andrewlock.net/removing-the-mvc-razor-dependencies-from-the-web-api-template-in-asp-net-core/.NET-Core und Swagger API Generation
Der folgenden Code funktioniert gut, bis ich hinzugefügt Swashbuckle.AspNetCore (zusammen mit der Konfigurationscode unten), jetzt erhalten wir diesen Fehler
InvalidOperationException: Kein Service für den Typ 'Microsoft.AspNetCore.Mvc.ApiExplorer.IApiDescriptionGroupCollectionProvider' wurde registriert.
Irgendwelche Ideen?
Bitte beachten Sie: Wir verwenden nicht "builder.AppMvc()", da wir versuchen, diese API so weit wie möglich zu verkleinern.
public class Startup
{
// This method gets called by the runtime. Use this method to add services to the container.
// For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=398940
public void ConfigureServices(IServiceCollection services)
{
var builder = services.AddMvcCore();
builder.AddAuthorization();
builder.AddFormatterMappings();
builder.AddJsonFormatters();
builder.AddCors();
// Register the Swagger generator, defining one or more Swagger documents
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new Info { Title = "My API", Version = "v1" });
});
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
{
loggerFactory.AddConsole();
if (env.IsDevelopment())
app.UseDeveloperExceptionPage();
app.UseMvc();
// Enable middleware to serve generated Swagger as a JSON endpoint.
app.UseSwagger();
// Enable middleware to serve swagger-ui (HTML, JS, CSS etc.), specifying the Swagger JSON endpoint.
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "My API V1");
});
}
}
[Route("api/[controller]")]
public class ValuesController : ControllerBase
{
// GET api/values
[HttpGet]
public IActionResult Get()
{
return Ok(new[] {"value1", "value2"});
}
}
Ich nehme an, Sie beziehe in meinem Code zu dieser Linie? var builder = services.AddMvcCore();“. – JCircio
ich nicht AddMvc wie diese Fehler verwenden kann Dieses Projekt wurde von einem leeren WebAPI Code Projekt gestartet – JCircio
Dann services.AddMvcCore versuchen() .AddApiExplorer();. –