windows 上 .net core 3.0 webapi 的 Swagger 错误(无法解析类型 'ISwaggerProvider' 的服务)
Swagger error on .net core 3.0 webapi on windows (Unable to resolve service for type 'ISwaggerProvider' )
我有这个默认的 Web APi 脚手架。我包含了以下 Nuget 包。我在 Startup.cs 中有以下文件。但是它抛出错误。请协助
我的 Startup.cs class 有以下内容:-
app.UseSwagger();
app.UseSwaggerUI(c =>
{
c.RoutePrefix = "v1";
var basePath = string.IsNullOrWhiteSpace(c.RoutePrefix) ? "." : "..";
c.SwaggerEndpoint($"{basePath}/swagger/{c.RoutePrefix}/swagger.json", "Name");
});
您遇到此问题的原因是您没有在 ConfigureServices(IServiceCollection services)
方法中调用 services.AddSwaggerGen()
。
此方法在 DI 容器中注册 ISwaggerProvider
接口,因为它未注册,您在调用 swagger 路由时会收到此异常。
ConfigureServices
中 swagger 部分的完整示例:
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new OpenApiInfo { Title = "My API", Version = "v1" });
});
我有这个默认的 Web APi 脚手架。我包含了以下 Nuget 包。我在 Startup.cs 中有以下文件。但是它抛出错误。请协助
我的 Startup.cs class 有以下内容:-
app.UseSwagger();
app.UseSwaggerUI(c =>
{
c.RoutePrefix = "v1";
var basePath = string.IsNullOrWhiteSpace(c.RoutePrefix) ? "." : "..";
c.SwaggerEndpoint($"{basePath}/swagger/{c.RoutePrefix}/swagger.json", "Name");
});
您遇到此问题的原因是您没有在 ConfigureServices(IServiceCollection services)
方法中调用 services.AddSwaggerGen()
。
此方法在 DI 容器中注册 ISwaggerProvider
接口,因为它未注册,您在调用 swagger 路由时会收到此异常。
ConfigureServices
中 swagger 部分的完整示例:
services.AddSwaggerGen(c =>
{
c.SwaggerDoc("v1", new OpenApiInfo { Title = "My API", Version = "v1" });
});