C# SwashBuggler.swaggerDocument无法创建文档

C# SwashBuggler.swaggerDocument无法创建文档,c#,swagger,asp.net-core-2.1,swashbuckle,C#,Swagger,Asp.net Core 2.1,Swashbuckle,项目结构: 控制台应用程序-启动WebAPI启动 API项目(DLL)-仅配置(使用(AssemblyPart)的容器和授权以及控制器类初始化) ControllerClass(DLL)-具有API方法 虚张声势, 配置服务类代码: 我已生成XML文件并复制到输出目录 问题: 我收到错误“加载API定义失败”。帮我解决这个问题。你能仔细检查一下控制器的方法吗? 例如,Swagger需要显式的[HttpPost]和[HttpGet] 如果您有Get(int-id)或Post(…),这将返回加载AP

项目结构:

  • 控制台应用程序-启动WebAPI启动
  • API项目(DLL)-仅配置(使用(AssemblyPart)的容器和授权以及控制器类初始化)
  • ControllerClass(DLL)-具有API方法
  • 虚张声势, 配置服务类代码:

    我已生成XML文件并复制到输出目录

    问题:


    我收到错误“加载API定义失败”。帮我解决这个问题。

    你能仔细检查一下控制器的方法吗? 例如,Swagger需要显式的
    [HttpPost]
    [HttpGet]

    如果您有
    Get(int-id)
    Post(…)
    ,这将返回加载API定义失败的问题。Swashback失败引发NotSupportedException异常。来修复异常。正确区分get方法。e、 g.[HTTPGet(“{id}”)]。在生成该文档之后。
        services.AddSwaggerGen(options =>
            {
                options.DescribeAllEnumsAsStrings();
                options.SwaggerDoc("v1", new Swashbuckle.AspNetCore.Swagger.Info
                {
                    Title = "TestAPI",
                    Version = "v1",
                    Description = "TestApplication API for modular monolith .NET application.",
                });
    
                var baseDirectory = AppDomain.CurrentDomain.BaseDirectory;
                var commentsFileName = "Test.Modules.UserAccess.Facade.XML";//Assembly.GetExecutingAssembly().GetName().Name + ".XML";
                var commentsFile = Path.Combine(baseDirectory, commentsFileName);
                options.IncludeXmlComments(commentsFile);
    
                var securityToken = new Dictionary<string, IEnumerable<string>>
                {
                    {"Bearer", new string[] { }},
                };
    
                options.AddSecurityDefinition("Bearer", new ApiKeyScheme
                {
                    Description = "JWT Authorization header using the Bearer scheme. Example: \"Authorization: Bearer {token}\"",
                    Name = "Authorization",
                    In = "header",
                    Type = "apiKey"
                });
                options.AddSecurityRequirement(securityToken);
            });
    
     public void Configure(IApplicationBuilder app, IHostingEnvironment env, IServiceProvider 
      serviceProvider)
        {
            app.UseSwagger();
            app.UseSwaggerUI(c =>
            {
                c.SwaggerEndpoint("/swagger/v1/swagger.json", "TestAPI");
                c.RoutePrefix = string.Empty;
    
            });
        }