Ich versuche, Swagger in einer AspNet Core 2 Web API zu verwenden. Ich habe eine Probe, die auf Basis funktioniert:Ambiguites in AspNet Core 2.0 mit Swagger in Web-API
aber wenn ich versuche, den gleichen Ansatz in einen anderen Dienst zu verwenden, erhalte ich kompilieren Fehler:
2> Startup.cs (41,17, 41,27): Fehler CS0121:
The call is ambiguous between the following methods or properties: 'Microsoft.AspNetCore.Builder.SwaggerBuilderExtensions.UseSwagger(Microsoft.AspNetCore.Builder.IApplicationBuilder, System.Action)'
und
'Microsoft.AspNetCore.Builder.SwaggerBuilderExtensions.UseSwagger(Microsoft.AspNetCore.Builder.IApplicationBuilder, string, System.Action)'
2>Done building project "SocialNetwork.Api.csproj" -- FAILED.
Die t arget-Aufruf ist in Startup.cs in der Configure-Methode.
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
// Enable middleware to serve generated Swagger as a JSON endpoint.
app.UseSwagger(); // Ambiguous
// Enable middleware to serve swagger-ui (HTML, JS, CSS, etc.), specifying the Swagger JSON endpoint.
app.UseSwaggerUI(c =>
{
c.SwaggerEndpoint("/swagger/v1/swagger.json", "SocialNetwork API V1");
});
app.UseMvc();
}
Hat jemand einen Einblick? Jede Hilfe würde sehr geschätzt werden. Danke.
Scheint, dass Sie in der Erweiterungsmethode ambigoius Verweise Problem gefangen sind. Versuche, Usings zu entfernen und sie explizit aufzurufen. Zum Beispiel können Sie 'MvcApplicationBuilderExtensions.UseMvc (app);' anstelle von 'app.UseMvc();' verwenden –